Re: RE: {bb} Kernel error from bbd on RH linux 9
Henrik Storner <[email protected]> Thu, 15 May 2003 15:52:24 +0000 (UTC)
| Newsgroups | gmane.network.bb4.devel |
|---|---|
| Organization | Linux Users Inc. |
| Message-ID | <[email protected]> |
In <[email protected]> Jeff Stoner <[email protected]> writes: >>From Red Hat's Seawolf (7.1) man page on signal(2): >According to POSIX (B.3.3.1.3) you must not set the action for >SIGCHLD to SIG_IGN. Here the BSD and SYSV behaviours differ, causing >BSD software that sets the action for SIGCHLD to SIG_IGN to fail on >Linux. >CONFORMING TO > ANSI C A newer man-page from Red Hat 9 (the one that is referred to in the error message logged): NOTES The Single Unix Specification describes a flag SA_NOCLDWAIT (not supported under Linux) such that if either this flag is set, or the action for SIGCHLD is set to SIG_IGN then children that exit do not become zombies and a call to wait() or waitpid() will block until all children have exited, and then fail with errno set to ECHILD. The original POSIX standard left the behaviour of setting SIGCHLD to SIG_IGN unspecified. Later standards, including SUSv2 and POSIX 1003.1-2001 specify the behaviour just described as an XSI-compliance option. Linux does not conform to the second of the two points just described: if a wait() or waitpid() call is made while SIGCHLD is being ignored, the call behaves just as though SIGCHLD were not being ignored, that is, the call blocks until the next child terminates and then returns the PID and status of that child. -- Henrik Storner <[email protected]> -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-= To unsubscribe from this list send e-mail to mailto:[email protected] with unsubscribe bbd in the BODY of the message.