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.
|