Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#120 error in syslog on RH9 with perl 5.8.0

open
Sean Adams
Other (15)
5
2003-09-28
2003-09-28
Mike Arnold
No

[mike@incompetence mike]$ cat /etc/redhat-release
Red Hat Linux release 9 (Shrike)

[mike@incompetence mike]$ rpm -q perl SliMP3
perl-5.8.0-88.3
SliMP3-4.2.4-1

[mike@incompetence mike]$ tail /var/log/messages
Sep 27 08:12:31 incompetence su(pam_unix)[22638]: session opened for user slimp3 by mike(uid=0)
Sep 27 08:12:34 incompetence su(pam_unix)[22638]: session closed for user slimp3Sep 27 08:12:34 incompetence slimp3: slimp3.pl startup succeeded
Sep 27 08:12:57 incompetence kernel: application bug: slimp3.pl(22668) has SIGCHLD set to SIG_IGN but calls wait().
Sep 27 08:12:57 incompetence kernel: (see the NOTES section of 'man 2 wait'). Workaround activated.

[mike@incompetence mike]$ man 2 wait
....
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 igored,
that is, the call blocks until the next child terminates and then
returns the PID and status of that child.

The SliMP3 software works, I just figured this should be reported.

Discussion