From: minima Date: Sun, 4 Mar 2001 13:41:21 +0000 (+0000) Subject: add a timeout to the outgoing connect X-Git-Tag: R_1_47~144 X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=f7d2c39f20734d48a5306ac585f1bbee2fc2fbe7;p=spider.git add a timeout to the outgoing connect --- diff --git a/perl/Msg.pm b/perl/Msg.pm index 1099ba88..6702f152 100644 --- a/perl/Msg.pm +++ b/perl/Msg.pm @@ -51,6 +51,7 @@ sub new state => 0, lineend => "\r\n", csort => 'telnet', + timeval => 60, }; return bless $conn, $class; @@ -61,20 +62,22 @@ sub new sub connect { my ($pkg, $to_host, $to_port, $rproc) = @_; + # Create a connection end-point object + my $conn = $pkg; + unless (ref $pkg) { + $conn = $pkg->new($rproc); + } + # Create a new internet socket my $sock = IO::Socket::INET->new ( PeerAddr => $to_host, PeerPort => $to_port, Proto => 'tcp', - Reuse => 1); + Reuse => 1, + Timeout => $conn->{timeval} / 2); return undef unless $sock; - # Create a connection end-point object - my $conn = $pkg; - unless (ref $pkg) { - $conn = $pkg->new($rproc); - } $conn->{sock} = $sock; if ($conn->{rproc}) {