X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fdisconnect.pl;h=60078704f375994a29a8c5c8b87aeef3b0e9cb6b;hb=3cdd57e7baf63341fdcba6b764f304291ed0dbb2;hp=195cdf8c2ae043b9efdf7cb9391a8dc634d5b113;hpb=85b6ea316f8da5cb0a9fe716bbb5cd17bd2f5fdb;p=spider.git diff --git a/cmd/disconnect.pl b/cmd/disconnect.pl index 195cdf8c..60078704 100644 --- a/cmd/disconnect.pl +++ b/cmd/disconnect.pl @@ -13,22 +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_node) { -# $dxchan->send_now("D", DXProt::pc39($main::mycall, $self->msg('disc1', $self->call))); +# $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 $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->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); }