diff options
author | dillon <dillon@FreeBSD.org> | 2001-07-22 18:47:31 +0000 |
---|---|---|
committer | dillon <dillon@FreeBSD.org> | 2001-07-22 18:47:31 +0000 |
commit | 5064dfdc7ca942c44349640d82b2d486a6fae544 (patch) | |
tree | 2482e222def985b497ee47a2123f3ea4c3a0cc74 /sys/kern/kern_exit.c | |
parent | f322ed687376f4ac00e13420d79a8eade13c0189 (diff) | |
download | FreeBSD-src-5064dfdc7ca942c44349640d82b2d486a6fae544.zip FreeBSD-src-5064dfdc7ca942c44349640d82b2d486a6fae544.tar.gz |
As per further discussions on hackers redo the SIGCHLD patch to not generate
an unexpected user-visible side effect with the sigaction flags. Also cleanup
a minor union issue.
Submitted by: Rudolf Cejka <cejkar@dcse.fee.vutbr.cz>
MFC addendum: MFC will be combined w/ original commit
MFC after: 3 days
Diffstat (limited to 'sys/kern/kern_exit.c')
-rw-r--r-- | sys/kern/kern_exit.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index d73c70b..4597f30 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); /* |