New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bleadperl v5.13.8-391-g7fe50b8 breaks MNOONING/Net-Daemon/Net-Daemon-0.43.tar.gz #11121
Comments
From @andkgit bisect: 7fe50b8 is the first bad commit Also unblock signal handlers throwing an exception Also handle and test the edge case of a signal handler throwing an symptoms: The test forkm.t now hangs. Note that N:D tests with threaded perls perl -V: Summary of my perl5 (revision 5 version 13 subversion 8) configuration: Characteristics of this binary (from libperl): -- |
From @LeontOn Tue, Feb 8, 2011 at 7:01 AM, Andreas J. Koenig via RT
That module is a convoluted mess that already fails its unit tests Leon [1] http://matrix.cpantesters.org/?dist=Net-Daemon+0.43 |
The RT System itself - Status changed from 'new' to 'open' |
From @andk
> On Tue, Feb 8, 2011 at 7:01 AM, Andreas J. Koenig via RT
> That module is a convoluted mess that already fails its unit tests What you say is unfair. That the matrix at [1] can't show you much is due to the fact that (I'm N:D tests with threaded perls are broken for several years but The statistical analysis at [2] cannot deal with two issues at once. > [1] http://matrix.cpantesters.org/?dist=Net-Daemon+0.43 As a matter of fact, statistical analysis before v5.13.8-391-g7fe50b8 You may argue about the quality of the module but what you're saying -- |
From @LeontOn Mon, Feb 14, 2011 at 8:50 PM, Andreas J. Koenig
With «I'm tempted to blame the module's fickleness.» I didn't mean Anyway, it seems I've figured this out. The SIGCHLD handler calls exit The module is at fault. If he had read perlipc before writing signal
Not quite, -Dusethreads does work in a minority of cases (and the Leon |
From @Leontwaitpid.patchdiff --git a/t/forkm.t b/t/forkm.t
index 8dde319..03e4547 100644
--- a/t/forkm.t
+++ b/t/forkm.t
@@ -8,6 +8,7 @@ use Config ();
use Net::Daemon::Test ();
use Fcntl ();
use Config ();
+use POSIX qw/WNOHANG/;
my $debug = 0;
@@ -130,7 +131,8 @@ my %childs;
sub CatchChild {
&log("CatchChild: ->");
for(;;) {
- my $pid = wait;
+ my $pid = waitpid -1, WNOHANG;
+ last if $pid <= 0;
if ($pid > 0) {
&log("CatchChild: $pid");
if (exists $childs{$pid}) {
|
From @andk
> On Mon, Feb 14, 2011 at 8:50 PM, Andreas J. Koenig
> With «I'm tempted to blame the module's fickleness.» I didn't mean OK, you did not say that. > Anyway, it seems I've figured this out. The SIGCHLD handler calls exit > The module is at fault. If he had read perlipc before writing signal Thank you for figuring that out.
> Not quite, -Dusethreads does work in a minority of cases (and the I admit it's not obvious which factors influence the results but looking The real pity is that the maintainer is AWOL. -- |
From m.nooning@comcast.netThanks for the patch. I just uploaded Net-Daemon-0.48.tar.gz to CPAN. |
@cpansprout - Status changed from 'open' to 'resolved' |
Migrated from rt.perl.org#83646 (status was 'resolved')
Searchable as RT83646$
The text was updated successfully, but these errors were encountered: