X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FMsg.pm;h=d1f2589b0aabb58d96af1d44a7b6f6b51d459bdf;hb=f27e9460a85b5ba3ec8b51d14808220023b70917;hp=aa5edc48bd4a8ba454005f3ff8c3e5df5f8fc7cf;hpb=503b6b1f503860def06f4e2121b0367e856081cd;p=spider.git diff --git a/perl/Msg.pm b/perl/Msg.pm index aa5edc48..d1f2589b 100644 --- a/perl/Msg.pm +++ b/perl/Msg.pm @@ -32,8 +32,9 @@ BEGIN { eval { require POSIX; POSIX->import(qw(O_NONBLOCK F_SETFL F_GETFL)) }; - if ($@) { + if ($@ || $main::is_win) { print STDERR "POSIX Blocking *** NOT *** supported $@\n"; + $blocking_supported = 0; } else { $blocking_supported = 1; print STDERR "POSIX Blocking enabled\n"; @@ -195,7 +196,7 @@ sub disconnect { $call ||= 'unallocated'; dbg('connll', "Connection $call disconnected"); - unless ($^O =~ /^MS/i) { + unless ($main::is_win) { kill 'TERM', $conn->{pid} if exists $conn->{pid}; } @@ -481,7 +482,7 @@ sub event_loop { # Quit the loop if no handles left to process last unless ($rd_handles->count() || $wt_handles->count()); - ($rset, $wset) = IO::Select->select($rd_handles, $wt_handles, $er_handles, $timeout); + ($rset, $wset, $eset) = IO::Select->select($rd_handles, $wt_handles, $er_handles, $timeout); foreach $e (@$eset) { &{$er_callbacks{$e}}($e) if exists $er_callbacks{$e};