X-Git-Url: http://www.dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FMsg.pm;h=d677b69248190567b4eb2031ec97ef067af54279;hb=b8df30c344a8805053f889eda4fd17d85dca1b9e;hp=0f2f2d1d04d37771e4e9138a10c826012ea60413;hpb=cde4b624b9eccd5b360d9cc7047a7f73527885aa;p=spider.git diff --git a/perl/Msg.pm b/perl/Msg.pm index 0f2f2d1d..d677b692 100644 --- a/perl/Msg.pm +++ b/perl/Msg.pm @@ -402,9 +402,9 @@ sub nolinger 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')) {