diff options
author | joerg <joerg@FreeBSD.org> | 1997-09-13 19:42:29 +0000 |
---|---|---|
committer | joerg <joerg@FreeBSD.org> | 1997-09-13 19:42:29 +0000 |
commit | b3004b96f00018abb27dfa6435afa6c1364781a4 (patch) | |
tree | be70b05473d1f2b81f048889bba4ac06515bd98e /sys/sys/_sigset.h | |
parent | 1fe98f376a10db06be4e190a5a72e8667af43b4b (diff) | |
download | FreeBSD-src-b3004b96f00018abb27dfa6435afa6c1364781a4.zip FreeBSD-src-b3004b96f00018abb27dfa6435afa6c1364781a4.tar.gz |
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
Diffstat (limited to 'sys/sys/_sigset.h')
-rw-r--r-- | sys/sys/_sigset.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/sys/_sigset.h b/sys/sys/_sigset.h index f461a99..ee3cabb 100644 --- a/sys/sys/_sigset.h +++ b/sys/sys/_sigset.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)signal.h 8.4 (Berkeley) 5/4/95 - * $Id$ + * $Id: signal.h,v 1.11 1997/02/22 09:45:53 peter Exp $ */ #ifndef _SYS_SIGNAL_H_ @@ -132,6 +132,7 @@ struct sigaction { #define SA_RESTART 0x0002 /* restart system call on signal return */ #define SA_RESETHAND 0x0004 /* reset to SIG_DFL when taking signal */ #define SA_NODEFER 0x0010 /* don't mask the signal we're delivering */ +#define SA_NOCLDWAIT 0x0020 /* don't keep zombies around */ #ifdef COMPAT_SUNOS #define SA_USERTRAMP 0x0100 /* do not bounce off kernel's sigtramp */ #endif |