Hi,
I'm using the latest PerPerl 2.22-1 release with OpenWebmail 2.30 running on
Fedora Core 1.
Everything works fine, but in the /var/log/messages file I get the following
error all the time:
Jan 28 12:00:01 server kernel: application bug: perperl_backend(4336) has
SIGCHLD set to SIG_IGN but calls wait().
Jan 28 12:00:01 server kernel: (see the NOTES section of 'man 2 wait').
Workaround activated.
Jan 28 12:01:01 server kernel: application bug: perperl_backend(4336) has
SIGCHLD set to SIG_IGN but calls wait().
Jan 28 12:01:01 server kernel: (see the NOTES section of 'man 2 wait').
Workaround activated.
Reading that relevant section of the man page says:
NOTES
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.
Is this something we should be concerned about or can we fix it somehow?
Thanks.
Michael.
|