From: minima Date: Fri, 2 Mar 2001 22:17:51 +0000 (+0000) Subject: more bugs X-Git-Tag: R_1_47~166 X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=362f72d428454360344da2bc87377d6cbd5f85aa;p=spider.git more bugs --- diff --git a/perl/ExtMsg.pm b/perl/ExtMsg.pm index f2d13264..60566f7a 100644 --- a/perl/ExtMsg.pm +++ b/perl/ExtMsg.pm @@ -76,7 +76,7 @@ sub dequeue } elsif ($conn->{state} eq 'WC') { if (exists $conn->{cmd} && @{$conn->{cmd}}) { $conn->_docmd($msg); - unless (exists $conn->{cmd} && @{$conn->{cmd}}) { + unless ($conn->{state} eq 'WC' && @{$conn->{cmd}}) { $conn->{state} = 'C'; &{$conn->{rproc}}($conn, "O$conn->{call}|telnet"); delete $conn->{cmd}; @@ -87,7 +87,7 @@ sub dequeue } if ($conn->{msg} && $conn->{state} eq 'WC' && exists $conn->{cmd} && @{$conn->{cmd}}) { $conn->_docmd($conn->{msg}); - unless (@{$conn->{cmd}}) { + unless ($conn->{state} eq 'WC' && @{$conn->{cmd}}) { $conn->{state} = 'C'; &{$conn->{rproc}}($conn, "O$conn->{call}|telnet"); delete $conn->{cmd}; @@ -234,6 +234,7 @@ sub _dochat if ($conn->{abort} && $line =~ /$conn->{abort}/i) { dbg('connect', "aborted on /$conn->{abort}/"); $conn->disconnect; + delete $conn->{cmd}; return; } if ($line =~ /$expect/i) {