From 4fec48c6fea41b833d2153d38fc57238bc42b140 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sun, 22 Jul 2001 18:47:31 +0000 Subject: 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 MFC addendum: MFC will be combined w/ original commit MFC after: 3 days --- sys/kern/kern_exit.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'sys/kern/kern_exit.c') 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); /* -- cgit v1.2.3