From owner-cvs-sys Sat Sep 13 12:46:11 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id MAA22710 for cvs-sys-outgoing; Sat, 13 Sep 1997 12:46:11 -0700 (PDT) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id MAA22687; Sat, 13 Sep 1997 12:45:48 -0700 (PDT) From: Joerg Wunsch Received: (from joerg@localhost) by freefall.freebsd.org (8.8.6/8.8.5) id MAA07534; Sat, 13 Sep 1997 12:42:34 -0700 (PDT) Date: Sat, 13 Sep 1997 12:42:34 -0700 (PDT) Message-Id: <199709131942.MAA07534@freefall.freebsd.org> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, cvs-sys@FreeBSD.ORG Subject: cvs commit: src/sys/kern kern_exit.c kern_sig.c src/sys/sys proc.h signal.h Sender: owner-cvs-sys@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk joerg 1997/09/13 12:42:33 PDT Modified files: sys/kern kern_exit.c kern_sig.c sys/sys proc.h signal.h Log: Implement SA_NOCLDWAIT. The implementation is done (unlike what i've originally been contemplating) by reparenting kids of processes that have the appropriate bit set to PID 1, and let PID 1 handle the zombie. This is far less problematical than what would seem to be ``doing it right'', for a number of reasons. Of our currently shipping PID-1-intended programs, 50 % fail the above assumption. ;-) (Read this: sysinstall doesn't do it right. This is no problem as long as no program called by sysinstall actually uses SA_NOCLDWAIT.) ToDo: . clarify the correct SA_* flag inheritance, compared to other systems, . decide whether the compat cruft (osigvec(9)) should deal with new system additions or not, . merge OpenBSD's SA_SIGINFO implementation. ;) Reviewed by: bde Revision Changes Path 1.55 +16 -2 src/sys/kern/kern_exit.c 1.34 +16 -1 src/sys/kern/kern_sig.c 1.43 +4 -1 src/sys/sys/proc.h 1.12 +2 -1 src/sys/sys/signal.h