summaryrefslogtreecommitdiff
path: root/sys/kern/kern_exit.c
diff options
context:
space:
mode:
authorMatthew Dillon <dillon@FreeBSD.org>2001-07-22 18:47:31 +0000
committerMatthew Dillon <dillon@FreeBSD.org>2001-07-22 18:47:31 +0000
commit4fec48c6fea41b833d2153d38fc57238bc42b140 (patch)
tree2482e222def985b497ee47a2123f3ea4c3a0cc74 /sys/kern/kern_exit.c
parent2c69b9a13e3209034c5e4d8d7b576edb1deecefc (diff)
Notes
Diffstat (limited to 'sys/kern/kern_exit.c')
-rw-r--r--sys/kern/kern_exit.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c
index d73c70bb9df4..4597f300d223 100644
--- a/sys/kern/kern_exit.c
+++ b/sys/kern/kern_exit.c
@@ -329,10 +329,11 @@ exit1(p, rv)
/*
* Notify parent that we're gone. If parent has the PS_NOCLDWAIT
- * flag set, notify process 1 instead (and hope it will handle
- * this situation).
+ * flag set, or if the handler is set to SIG_IGN, notify process
+ * 1 instead (and hope it will handle this situation).
*/
- if (p->p_pptr->p_procsig->ps_flag & PS_NOCLDWAIT) {
+ if ((p->p_pptr->p_procsig->ps_flag & PS_NOCLDWAIT)
+ || p->p_pptr->p_sigacts->ps_sigact[_SIG_IDX(SIGCHLD)] == SIG_IGN) {
struct proc *pp = p->p_pptr;
proc_reparent(p, initproc);
/*