--- AnyEvent/lib/AnyEvent.pm 2010/12/03 18:39:06 1.340 +++ AnyEvent/lib/AnyEvent.pm 2010/12/05 11:41:45 1.341 @@ -1630,7 +1630,6 @@ our %PID_CB; our $CHLD_W; our $CHLD_DELAY_W; -our $WNOHANG; # used by many Impl's sub _emit_childstatus($$) { @@ -1647,7 +1646,7 @@ my $pid; AnyEvent->_emit_childstatus ($pid, $?) - while ($pid = waitpid -1, $WNOHANG) > 0; + while ($pid = waitpid -1, WNOHANG) > 0; }; *child = sub { @@ -1658,11 +1657,6 @@ $PID_CB{$pid}{$arg{cb}} = $arg{cb}; - # WNOHANG is almost cetrainly 1 everywhere - $WNOHANG ||= $^O =~ /^(?:openbsd|netbsd|linux|freebsd|cygwin|MSWin32)$/ - ? 1 - : eval { local $SIG{__DIE__}; require POSIX; &POSIX::WNOHANG } || 1; - unless ($CHLD_W) { $CHLD_W = AE::signal CHLD => \&_sigchld; # child could be a zombie already, so make at least one round