X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FMsg.pm;h=ec2f3b4ca0214836327bb99c8a84aaa60a609b6a;hb=2076d02a004fd25a975ec527661e05ea762a1f44;hp=d677b69248190567b4eb2031ec97ef067af54279;hpb=b8df30c344a8805053f889eda4fd17d85dca1b9e;p=spider.git diff --git a/perl/Msg.pm b/perl/Msg.pm index d677b692..ec2f3b4c 100644 --- a/perl/Msg.pm +++ b/perl/Msg.pm @@ -37,6 +37,7 @@ $now = time; BEGIN { # Checks if blocking is supported eval { + local $^W; require POSIX; POSIX->import(qw(O_NONBLOCK F_SETFL F_GETFL)) }; if ($@ || $main::is_win) { @@ -50,12 +51,14 @@ BEGIN { # import as many of these errno values as are available eval { + local $^W; require Errno; Errno->import(qw(EAGAIN EINPROGRESS EWOULDBLOCK)); }; unless ($^O eq 'MSWin32') { if ($] >= 5.6) { eval { + local $^W; require Socket; Socket->import(qw(IPPROTO_TCP TCP_NODELAY)); }; } else { @@ -402,9 +405,9 @@ sub nolinger dbg("Linger is: $l $t, keepalive: $k, nagle: $n"); } - 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: $!"; + eval {setsockopt($conn->{sock}, SOL_SOCKET, SO_KEEPALIVE, 1)} or dbg("setsockopt keepalive: $!"); + eval {setsockopt($conn->{sock}, SOL_SOCKET, SO_LINGER, pack("ll", 0, 0))} or dbg("setsockopt linger: $!"); + eval {setsockopt($conn->{sock}, IPPROTO_TCP, TCP_NODELAY, 1)} or eval {setsockopt($conn->{sock}, SOL_SOCKET, TCP_NODELAY, 1)} or dbg("setsockopt tcp_nodelay: $!"); $conn->{sock}->autoflush(0); if (isdbg('sock')) {