fix pc17 coming in with users on wrong nodes
[spider.git] / cmd / disconnect.pl
index 02f9f45cf3088ea8c17ed1f8ba32b7364706e00b..195cdf8c2ae043b9efdf7cb9391a8dc634d5b113 100644 (file)
@@ -15,14 +15,20 @@ foreach $call (@calls) {
        next if $call eq $main::mycall;
        my $dxchan = DXChannel->get($call);
        if ($dxchan) {
-               if ($dxchan->is_ak1a) {
-                       $dxchan->send_now("D", DXProt::pc39($main::mycall, $self->msg('disc1', $self->call)));
+               if ($dxchan->is_node) {
+#                      $dxchan->send_now("D", DXProt::pc39($main::mycall, $self->msg('disc1', $self->call)));
                } else {
                        return (1, $self->msg('e5')) if $self->priv < 8;
                        $dxchan->send_now('D', $self->msg('disc1', $self->call));
                } 
                $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);
        } else {
                push @out, $self->msg('e10', $call);
        }