[Persistentperl-users] Bug in 2.22 on Fedora Core 1
Brought to you by:
samh
From: Michael M. <mi...@np...> - 2004-05-14 23:37:37
|
Hi, I use persistentperl 2.22 on FC1 with OpenWebmail. The following error is presented in the messages log: May 15 06:00:01 gazelle kernel: application bug: perperl_backend(8615) has SIGCHLD set to SIG_IGN but calls wait(). May 15 06:00:01 gazelle kernel: (see the NOTES section of 'man 2 wait'). Workaround activated. and reading the notes section of the man 2 wait page, has the following on this error: The Single Unix Specification describes a flag SA_NOCLDWAIT (not sup- ported 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. Can we fix this? Michael. |