Disable an assertion that system() must return 0 during $SIG{CHLD}.
authorRocco Caputo <rcaputo@cpan.org>
Fri, 9 Dec 2011 16:38:35 +0000 (11:38 -0500)
committerRocco Caputo <rcaputo@cpan.org>
Fri, 9 Dec 2011 16:38:35 +0000 (11:38 -0500)
commit1f4ecc43fb48ae9b73c684589600f7d660e2d9f0
treeb7d40177d38ddc45ce29b613f2139007d4fe21f2
parent575e9ef0d508d5ac306fa3bd3525a5feefe6e1da
Disable an assertion that system() must return 0 during $SIG{CHLD}.

Perl has a known issue where system() can return -1 (failure) when a
$SIG{CHLD} handler is in effect, even if it succeeds.  It's not POE's
it succeeds when a $SIG{CHLD} handler is in effect.  It's not POE's
duty to work around the problem.  Proper, reliable work-arounds would
incur global overhead.  Use {local $SIG{CHLD}='DEFAULT'; system(...)}
as needed instead.  And watch the skies for a Perl fix:
https://rt.perl.org/rt3/Ticket/Display.html?id=105700
lib/POE/Test/Loops/z_merijn_sigchld_system.pm