Bug#708180: [rt.cpan.org #85308] applications die() because of SIGCHLD vs. SIGCLD confusion

Steinar H. Gunderson sgunderson at bigfoot.com
Thu May 16 06:57:57 UTC 2013


On Thu, May 16, 2013 at 05:58:14AM +0200, Xavier wrote:
> Likely the better solution would be to change that code to this:
> 
> $SIG{$sig} = sub{ $Net::Server::SIG::_SIG{$sig} = 1; };
> 
> That way, perl remains consistent and whatever awry value is being
> returned on your platform is ignored.

Maybe, but only if all callers are consistent in using either SIGCHLD or
SIGCLD. If not, the signal handler will be overwritten, and then you are back
to the same problem again. Unless that can never happen?

> I am a bit interested to know what platform you are running on. We have
> thousands of people running Net::Server on many platforms and you are
> the first to report the error.  I personally have had some servers in
> use for over a decade, several getting millions of hits a month with
> spikes to hundreds of connections per second, but have not seen this issue.

Debian wheezy, amd64 (that's Perl v5.14.2). My guess is that possibly,
Perl changed the name of the signal delivered, which is why it hasn't
happened before, but that's just a guess.

/* Steinar */
-- 
Homepage: http://www.sesse.net/



More information about the pkg-perl-maintainers mailing list