Merge branch 'newpc92timings' of /scm/spider into newpc92timings
[spider.git] / cmd / disconnect.pl
index 02f9f45cf3088ea8c17ed1f8ba32b7364706e00b..60078704f375994a29a8c5c8b87aeef3b0e9cb6b 100644 (file)
@@ -13,16 +13,25 @@ if ($self->priv < 5) {
 foreach $call (@calls) {
        $call = uc $call;
        next if $call eq $main::mycall;
-       my $dxchan = DXChannel->get($call);
+       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_pc39($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 $conn = Msg->conns($call)) {
+               $conn->disconnect;
+               push @out, $self->msg('disc3', $call);
+#      } elsif (my $ref = DXCluster->get_exact($call)) {
+#              my $dxchancall = $ref->dxchancall;
+#              if ($dxchancall eq $main::mycall || !DXChannel::get($dxchancall)) {
+#                      $ref->del;
+#                      push @out, $self->msg('disc4', $call);
+#              }
        } else {
                push @out, $self->msg('e10', $call);
        }