Module Name:    src
Committed By:   christos
Date:           Mon Apr  4 23:07:07 UTC 2016

Modified Files:
        src/sys/compat/svr4_32: svr4_32_signal.c
        src/sys/kern: kern_exec.c kern_exit.c kern_lwp.c kern_sig.c
        src/sys/sys: proc.h sysctl.h

Log Message:
no need to pass the coredump flag to exit1() since it is set and known
in one place.


To generate a diff of this commit:
cvs rdiff -u -r1.27 -r1.28 src/sys/compat/svr4_32/svr4_32_signal.c
cvs rdiff -u -r1.425 -r1.426 src/sys/kern/kern_exec.c
cvs rdiff -u -r1.252 -r1.253 src/sys/kern/kern_exit.c
cvs rdiff -u -r1.183 -r1.184 src/sys/kern/kern_lwp.c
cvs rdiff -u -r1.322 -r1.323 src/sys/kern/kern_sig.c
cvs rdiff -u -r1.328 -r1.329 src/sys/sys/proc.h
cvs rdiff -u -r1.219 -r1.220 src/sys/sys/sysctl.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/svr4_32/svr4_32_signal.c
diff -u src/sys/compat/svr4_32/svr4_32_signal.c:1.27 src/sys/compat/svr4_32/svr4_32_signal.c:1.28
--- src/sys/compat/svr4_32/svr4_32_signal.c:1.27	Mon Apr  4 17:21:49 2016
+++ src/sys/compat/svr4_32/svr4_32_signal.c	Mon Apr  4 19:07:06 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: svr4_32_signal.c,v 1.27 2016/04/04 21:21:49 christos Exp $	 */
+/*	$NetBSD: svr4_32_signal.c,v 1.28 2016/04/04 23:07:06 christos Exp $	 */
 
 /*-
  * Copyright (c) 1994, 1998 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: svr4_32_signal.c,v 1.27 2016/04/04 21:21:49 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: svr4_32_signal.c,v 1.28 2016/04/04 23:07:06 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_svr4.h"
@@ -630,7 +630,7 @@ svr4_32_sys_context(struct lwp *l, const
 	case SVR4_SETCONTEXT:
 		DPRINTF(("setcontext(%p)\n", SCARG(uap, uc)));
 		if (!SCARG_P32(uap, uc))
-			exit1(l, 0, 0, 0);
+			exit1(l, 0, 0);
 		else if ((error = copyin(SCARG_P32(uap, uc),
 					 &uc, sizeof(uc))) != 0)
 			return error;

Index: src/sys/kern/kern_exec.c
diff -u src/sys/kern/kern_exec.c:1.425 src/sys/kern/kern_exec.c:1.426
--- src/sys/kern/kern_exec.c:1.425	Mon Apr  4 16:47:57 2016
+++ src/sys/kern/kern_exec.c	Mon Apr  4 19:07:06 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_exec.c,v 1.425 2016/04/04 20:47:57 christos Exp $	*/
+/*	$NetBSD: kern_exec.c,v 1.426 2016/04/04 23:07:06 christos Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -59,7 +59,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_exec.c,v 1.425 2016/04/04 20:47:57 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_exec.c,v 1.426 2016/04/04 23:07:06 christos Exp $");
 
 #include "opt_exec.h"
 #include "opt_execfmt.h"
@@ -1350,7 +1350,7 @@ execve_runproc(struct lwp *l, struct exe
 	/* Acquire the sched-state mutex (exit1() will release it). */
 	if (!is_spawn) {
 		mutex_enter(p->p_lock);
-		exit1(l, error, SIGABRT, 0);
+		exit1(l, error, SIGABRT);
 	}
 
 	return error;
@@ -2229,7 +2229,7 @@ spawn_return(void *arg)
 	 * A NetBSD specific workaround is POSIX_SPAWN_RETURNERROR as
 	 * flag bit in the attrp argument to posix_spawn(2), see above.
 	 */
-	exit1(l, 127, 0, 0);
+	exit1(l, 127, 0);
 }
 
 void

Index: src/sys/kern/kern_exit.c
diff -u src/sys/kern/kern_exit.c:1.252 src/sys/kern/kern_exit.c:1.253
--- src/sys/kern/kern_exit.c:1.252	Mon Apr  4 16:47:57 2016
+++ src/sys/kern/kern_exit.c	Mon Apr  4 19:07:06 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_exit.c,v 1.252 2016/04/04 20:47:57 christos Exp $	*/
+/*	$NetBSD: kern_exit.c,v 1.253 2016/04/04 23:07:06 christos Exp $	*/
 
 /*-
  * Copyright (c) 1998, 1999, 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -67,7 +67,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_exit.c,v 1.252 2016/04/04 20:47:57 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_exit.c,v 1.253 2016/04/04 23:07:06 christos Exp $");
 
 #include "opt_ktrace.h"
 #include "opt_dtrace.h"
@@ -183,7 +183,7 @@ sys_exit(struct lwp *l, const struct sys
 	}
 
 	/* exit1() will release the mutex. */
-	exit1(l, SCARG(uap, rval), 0, 0);
+	exit1(l, SCARG(uap, rval), 0);
 	/* NOTREACHED */
 	return (0);
 }
@@ -196,7 +196,7 @@ sys_exit(struct lwp *l, const struct sys
  * Must be called with p->p_lock held.  Does not return.
  */
 void
-exit1(struct lwp *l, int exitcode, int signo, int coredump)
+exit1(struct lwp *l, int exitcode, int signo)
 {
 	struct proc	*p, *child, *next_child, *old_parent, *new_parent;
 	struct pgrp	*pgrp;
@@ -307,8 +307,6 @@ exit1(struct lwp *l, int exitcode, int s
 
 	p->p_xexit = exitcode;
 	p->p_xsig = signo;
-	if (coredump)
-		p->p_sflag |= PS_COREDUMP;
 
 	/*
 	 * If emulation has process exit hook, call it now.

Index: src/sys/kern/kern_lwp.c
diff -u src/sys/kern/kern_lwp.c:1.183 src/sys/kern/kern_lwp.c:1.184
--- src/sys/kern/kern_lwp.c:1.183	Mon Apr  4 16:47:57 2016
+++ src/sys/kern/kern_lwp.c	Mon Apr  4 19:07:06 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_lwp.c,v 1.183 2016/04/04 20:47:57 christos Exp $	*/
+/*	$NetBSD: kern_lwp.c,v 1.184 2016/04/04 23:07:06 christos Exp $	*/
 
 /*-
  * Copyright (c) 2001, 2006, 2007, 2008, 2009 The NetBSD Foundation, Inc.
@@ -211,7 +211,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_lwp.c,v 1.183 2016/04/04 20:47:57 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_lwp.c,v 1.184 2016/04/04 23:07:06 christos Exp $");
 
 #include "opt_ddb.h"
 #include "opt_lockdebug.h"
@@ -1043,7 +1043,7 @@ lwp_exit(struct lwp *l)
 		KASSERT(current == true);
 		KASSERT(p != &proc0);
 		/* XXXSMP kernel_lock not held */
-		exit1(l, 0, 0, 0);
+		exit1(l, 0, 0);
 		/* NOTREACHED */
 	}
 	p->p_nzlwps++;

Index: src/sys/kern/kern_sig.c
diff -u src/sys/kern/kern_sig.c:1.322 src/sys/kern/kern_sig.c:1.323
--- src/sys/kern/kern_sig.c:1.322	Mon Apr  4 16:47:57 2016
+++ src/sys/kern/kern_sig.c	Mon Apr  4 19:07:06 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_sig.c,v 1.322 2016/04/04 20:47:57 christos Exp $	*/
+/*	$NetBSD: kern_sig.c,v 1.323 2016/04/04 23:07:06 christos Exp $	*/
 
 /*-
  * Copyright (c) 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -70,7 +70,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_sig.c,v 1.322 2016/04/04 20:47:57 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_sig.c,v 1.323 2016/04/04 23:07:06 christos Exp $");
 
 #include "opt_ptrace.h"
 #include "opt_dtrace.h"
@@ -1946,7 +1946,7 @@ killproc(struct proc *p, const char *why
 void
 sigexit(struct lwp *l, int signo)
 {
-	int exitsig, error, docore, coreflag = 0;
+	int exitsig, error, docore;
 	struct proc *p;
 	struct lwp *t;
 
@@ -2017,8 +2017,7 @@ sigexit(struct lwp *l, int signo)
 
 	if (docore) {
 		mutex_exit(p->p_lock);
-		if ((error = (*coredump_vec)(l, NULL)) == 0)
-			coreflag = 1;
+		error = (*coredump_vec)(l, NULL);
 
 		if (kern_logsigexit) {
 			int uid = l->l_cred ?
@@ -2037,12 +2036,14 @@ sigexit(struct lwp *l, int signo)
 #endif /* PAX_SEGVGUARD */
 		/* Acquire the sched state mutex.  exit1() will release it. */
 		mutex_enter(p->p_lock);
+		if (error == 0)
+			p->p_sflag |= PS_COREDUMP;
 	}
 
 	/* No longer dumping core. */
 	p->p_sflag &= ~PS_WCORE;
 
-	exit1(l, 0, exitsig, coreflag);
+	exit1(l, 0, exitsig);
 	/* NOTREACHED */
 }
 

Index: src/sys/sys/proc.h
diff -u src/sys/sys/proc.h:1.328 src/sys/sys/proc.h:1.329
--- src/sys/sys/proc.h:1.328	Mon Apr  4 16:47:57 2016
+++ src/sys/sys/proc.h	Mon Apr  4 19:07:06 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: proc.h,v 1.328 2016/04/04 20:47:57 christos Exp $	*/
+/*	$NetBSD: proc.h,v 1.329 2016/04/04 23:07:06 christos Exp $	*/
 
 /*-
  * Copyright (c) 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -491,7 +491,7 @@ int	tsleep(wchan_t, pri_t, const char *,
 int	mtsleep(wchan_t, pri_t, const char *, int, kmutex_t *);
 void	wakeup(wchan_t);
 int	kpause(const char *, bool, int, kmutex_t *);
-void	exit1(struct lwp *, int, int, int) __dead;
+void	exit1(struct lwp *, int, int) __dead;
 int	kill1(struct lwp *l, pid_t pid, ksiginfo_t *ksi, register_t *retval);
 int	do_sys_wait(int *, int *, int, struct rusage *);
 struct proc *proc_alloc(void);

Index: src/sys/sys/sysctl.h
diff -u src/sys/sys/sysctl.h:1.219 src/sys/sys/sysctl.h:1.220
--- src/sys/sys/sysctl.h:1.219	Mon Jan 18 18:27:49 2016
+++ src/sys/sys/sysctl.h	Mon Apr  4 19:07:06 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: sysctl.h,v 1.219 2016/01/18 23:27:49 pooka Exp $	*/
+/*	$NetBSD: sysctl.h,v 1.220 2016/04/04 23:07:06 christos Exp $	*/
 
 /*
  * Copyright (c) 1989, 1993
@@ -38,6 +38,7 @@
 #define	_SYS_SYSCTL_H_
 
 #include <sys/param.h> /* precautionary upon removal from ucred.h */
+#include <sys/wait.h>  /* WCOREFLAG */
 #include <sys/proc.h>  /* Needed for things like P_ZOMBIE() and LW_SINTR */
 #include <uvm/uvm_param.h>
 

Reply via email to