decode AGW messages when there 36 bytes available
[spider.git] / perl / Msg.pm
index aa5edc48bd4a8ba454005f3ff8c3e5df5f8fc7cf..d1f2589b0aabb58d96af1d44a7b6f6b51d459bdf 100644 (file)
@@ -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};