Skip Menu |

This queue is for tickets about the IO-Async CPAN distribution.

Report information
The Basics
Id: 75573
Status: resolved
Priority: 0/
Queue: IO-Async

People
Owner: Nobody in particular
Requestors: leonerd-cpan [...] leonerd.org.uk
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.46
Fixed in:
  • 0.46_002
  • 0.47



Subject: t/33process.t often fails
Appears to randomly fail on about half the cpantesters reports. May be a race condition, or some platform setup. http://www.cpantesters.org/cpan/report/05629ef6-6709-11e1-9d6f- f6dbfa7543f5 Doesn't appear to be OS-specific. -- Paul Evans
On Tue Mar 06 07:11:57 2012, PEVANS wrote: Show quoted text
> Appears to randomly fail on about half the cpantesters reports. May be a > race condition, or some platform setup.
Indeed a race. Should kill() parent from _inside_ the eval block. -- Paul Evans
Subject: rt75573.patch
=== modified file 't/33process.t' --- t/33process.t 2012-02-21 23:32:16 +0000 +++ t/33process.t 2012-03-12 15:42:17 +0000 @@ -212,9 +212,11 @@ my $process = IO::Async::Process->new( code => sub { my $exitcode = 10; - $SIG{TERM} = sub { $exitcode = 20; die }; - kill SIGUSR1 => $parentpid; - eval { <STDIN> }; # block + eval { + local $SIG{TERM} = sub { $exitcode = 20; die }; + kill SIGUSR1 => $parentpid; + <STDIN>; # block on signal + }; return $exitcode; }, on_finish => sub { },
This appears to be fixed according to smoke results. -- Paul Evans
Actually, no. Still fails. A new fix is committed; will be in 0.46_002 -- Paul Evans