X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=perl%2FMsg.pm;h=6702f152bc6811334a8cf1f6661791f0d0a2c7b7;hb=f7d2c39f20734d48a5306ac585f1bbee2fc2fbe7;hp=1099ba8804f881106e918c699798a3b233810868;hpb=adbdb8b9a0e376b05b1d23234db927db946c8c5d;p=spider.git 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}) {