make M$ TCP connx blocking again
[spider.git] / perl / Msg.pm
index 5aef961ee4f4162593228d0c1abd71a41dd52fef..f6164132a33469ae7757e171863d722146e10195 100644 (file)
@@ -72,7 +72,9 @@ BEGIN {
                eval '*EWOULDBLOCK = *EAGAIN = sub { 10035 };';
                eval '*F_GETFL     = sub {     0 };';
                eval '*F_SETFL     = sub {     0 };';
-               $blocking_supported = 1;
+               eval '*IPPROTO_TCP     = sub {     6 };';
+               eval '*TCP_NODELAY     = sub {     1 };';
+               $blocking_supported = 0;   # it appears that this DOESN'T work :-(
        } 
 }
 
@@ -395,7 +397,7 @@ sub nolinger
        if (isdbg('sock')) {
                my ($l, $t) = unpack "ll", getsockopt($conn->{sock}, SOL_SOCKET, SO_LINGER); 
                my $k = unpack 'l', getsockopt($conn->{sock}, SOL_SOCKET, SO_KEEPALIVE);
-               my $n = unpack "l", getsockopt($conn->{sock}, IPPROTO_TCP, TCP_NODELAY);
+               my $n = $main::is_win ? 0 : unpack "l", getsockopt($conn->{sock}, IPPROTO_TCP, TCP_NODELAY);
                dbg("Linger is: $l $t, keepalive: $k, nagle: $n");
        }
 
@@ -409,7 +411,7 @@ sub nolinger
        if (isdbg('sock')) {
                my ($l, $t) = unpack "ll", getsockopt($conn->{sock}, SOL_SOCKET, SO_LINGER); 
                my $k = unpack 'l', getsockopt($conn->{sock}, SOL_SOCKET, SO_KEEPALIVE);
-               my $n = unpack "l", getsockopt($conn->{sock}, IPPROTO_TCP, TCP_NODELAY);
+               my $n = $main::is_win ? 0 : unpack "l", getsockopt($conn->{sock}, IPPROTO_TCP, TCP_NODELAY);
                dbg("Linger is: $l $t, keepalive: $k, nagle: $n");
        }
 }