fix simulanious connections
[spider.git] / cmd / disconnect.pl
index 195cdf8c2ae043b9efdf7cb9391a8dc634d5b113..9207d73b930c5833725821538524e1ac51c242c2 100644 (file)
@@ -23,12 +23,8 @@ foreach $call (@calls) {
                } 
                $dxchan->disconnect;
                push @out, $self->msg('disc2', $call);
-       } elsif (my $out = grep {$_->{call} eq $call} @main::outstanding_connects) {
-               unless ($^O =~ /^MS/i) {
-                       kill 'TERM', $out->{pid};
-               }
-               @main::outstanding_connects = grep {$_->{call} ne $call} @main::outstanding_connects;
-               push @out, $self->msg('disc2', $call);
+       } elsif (my $conn = Msg->call($call)) {
+               $conn->disconnect;
        } else {
                push @out, $self->msg('e10', $call);
        }