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

2013-05-18 Thread Xavier
p...@seamons.com wrote (on RT):

I'm not sure why the name difference. But, either way, if there is going
to now be a new name, then handling it with the:

 $SIG{$sig} = sub{ $Net::Server::SIG::_SIG{$sig} = 1; };

is a start, but if CLD is also necessary, then we'll need to just
register both CHLD and CLD to handle children. Not much overhead - but
it would handle all cases.
But before I go fully down that road, can you try the above patched line
on your system and see if you get proper behavior?

Thank you.

Paul


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



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

2013-05-18 Thread Steinar H. Gunderson
On Sat, May 18, 2013 at 11:12:48AM +0200, Xavier wrote:
 is a start, but if CLD is also necessary, then we'll need to just
 register both CHLD and CLD to handle children. Not much overhead - but
 it would handle all cases.

As long as you have control over all Net::Server::SIG users, then sure,
this is a possible solution (although IMHO inelegant).

 But before I go fully down that road, can you try the above patched line
 on your system and see if you get proper behavior?

I tried it already before reporting the bug, and yes, it fixes it.

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


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



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

2013-05-16 Thread Steinar H. Gunderson
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/


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org