+12Jan02=======================================================================
+1. put setsockopts into eval block to allow some of them to fail
11Jan02=======================================================================
1. Make M$ TCP connx blocking again, sigh...
2. backed out ALL the M$ speedup and make nicer changes :-(
dbg("Linger is: $l $t, keepalive: $k, nagle: $n");
}
- setsockopt($conn->{sock}, SOL_SOCKET, SO_KEEPALIVE, 1) or confess "setsockopt keepalive: $!";
- setsockopt($conn->{sock}, SOL_SOCKET, SO_LINGER, pack("ll", 0, 0)) or confess "setsockopt linger: $!";
- setsockopt($conn->{sock}, IPPROTO_TCP, TCP_NODELAY, 1) or confess "setsockopt: $!";
+ eval {setsockopt($conn->{sock}, SOL_SOCKET, SO_KEEPALIVE, 1)} or confess "setsockopt keepalive: $!";
+ eval {setsockopt($conn->{sock}, SOL_SOCKET, SO_LINGER, pack("ll", 0, 0))} or confess "setsockopt linger: $!";
+ eval {setsockopt($conn->{sock}, IPPROTO_TCP, TCP_NODELAY, 1)} or eval {setsockopt($conn->{sock}, SOL_SOCKET, TCP_NODELAY, 1)} or confess "setsockopt tcp_nodelay: $!";
$conn->{sock}->autoflush(0);
if (isdbg('sock')) {