--- AnyEvent/lib/AnyEvent.pm 2008/05/25 04:49:01 1.135 +++ AnyEvent/lib/AnyEvent.pm 2008/05/26 06:18:53 1.140 @@ -733,7 +733,7 @@ use Carp; -our $VERSION = '4.03'; +our $VERSION = '4.04'; our $MODEL; our $AUTOLOAD; @@ -741,14 +741,22 @@ our @REGISTRY; +our $WIN32; + +BEGIN { + my $win32 = ! ! ($^O =~ /mswin32/i); + eval "sub WIN32(){ $win32 }"; +} + our $verbose = $ENV{PERL_ANYEVENT_VERBOSE}*1; -our %PROTOCOL; # (ipv4|ipv6) => (1|2) +our %PROTOCOL; # (ipv4|ipv6) => (1|2), higher numbers are preferred { my $idx; $PROTOCOL{$_} = ++$idx - for split /\s*,\s*/, $ENV{PERL_ANYEVENT_PROTOCOLS} || "ipv4,ipv6"; + for reverse split /\s*,\s*/, + $ENV{PERL_ANYEVENT_PROTOCOLS} || "ipv4,ipv6"; } my @models = ( @@ -794,6 +802,7 @@ sub detect() { unless ($MODEL) { no strict 'refs'; + local $SIG{__DIE__}; if ($ENV{PERL_ANYEVENT_MODEL} =~ /^([a-zA-Z]+)$/) { my $model = "AnyEvent::Impl::$1"; @@ -926,7 +935,7 @@ $PID_CB{$pid}{$arg{cb}} = $arg{cb}; unless ($WNOHANG) { - $WNOHANG = eval { require POSIX; &POSIX::WNOHANG } || 1; + $WNOHANG = eval { local $SIG{__DIE__}; require POSIX; &POSIX::WNOHANG } || 1; } unless ($CHLD_W) {