--- AnyEvent/lib/AnyEvent.pm 2010/10/12 06:51:15 1.334 +++ AnyEvent/lib/AnyEvent.pm 2010/12/05 11:41:45 1.341 @@ -1169,7 +1169,7 @@ use Carp (); -our $VERSION = '5.271'; +our $VERSION = '5.29'; our $MODEL; our $AUTOLOAD; @@ -1293,7 +1293,7 @@ } $MODEL - or die "No event module selected for AnyEvent and autodetect failed. Install any one of these modules: EV, Event or Glib.\n"; + or die "AnyEvent: backend autodetection failed - did you properly install AnyEvent?\n"; } } @@ -1302,14 +1302,18 @@ push @{"$MODEL\::ISA"}, "AnyEvent::Base"; unshift @ISA, $MODEL; - # now nuke some methods that are overriden by the backend. + # now nuke some methods that are overridden by the backend. # SUPER is not allowed. for (qw(time signal child idle)) { undef &{"AnyEvent::Base::$_"} if defined &{"$MODEL\::$_"}; } - require AnyEvent::Strict if $ENV{PERL_ANYEVENT_STRICT}; + if ($ENV{PERL_ANYEVENT_STRICT}) { + eval { require AnyEvent::Strict }; + warn "AnyEvent: cannot load AnyEvent::Strict: $@" + if $@ && $VERBOSE; + } (shift @post_detect)->() while @post_detect; @@ -1626,7 +1630,6 @@ our %PID_CB; our $CHLD_W; our $CHLD_DELAY_W; -our $WNOHANG; # used by many Impl's sub _emit_childstatus($$) { @@ -1643,7 +1646,7 @@ my $pid; AnyEvent->_emit_childstatus ($pid, $?) - while ($pid = waitpid -1, $WNOHANG) > 0; + while ($pid = waitpid -1, WNOHANG) > 0; }; *child = sub { @@ -1654,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 @@ -2681,7 +2679,7 @@ Asynchronous DNS: L. -Thread support: L, L, L, +Thread support: L, L, L, L. Nontrivial usage examples: L, L, L.