From: djk Date: Sun, 21 Nov 1999 16:38:19 +0000 (+0000) Subject: fixed a missing get_all_user_calls X-Git-Tag: R_1_35~7 X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=commitdiff_plain;h=b0dc102f62871b43134807fa254749b1720d326a;p=spider.git fixed a missing get_all_user_calls --- diff --git a/perl/DXChannel.pm b/perl/DXChannel.pm index de9ecaa7..4ded6267 100644 --- a/perl/DXChannel.pm +++ b/perl/DXChannel.pm @@ -346,8 +346,9 @@ sub disconnect my $user = $self->{user}; my $conn = $self->{conn}; my $call = $self->{call}; + my $nopc39 = shift || 0; - $self->finish(); + $self->finish($nopc39); $conn->send_now("Z$call|bye") if $conn; # this will cause 'client' to disconnect $user->close() if defined $user; $conn->disconnect() if $conn; diff --git a/perl/DXProt.pm b/perl/DXProt.pm index 64727b8a..e65cad70 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -190,7 +190,7 @@ sub normal # is it for me or one of mine? my $call = ($field[5] gt ' ') ? $field[5] : $field[2]; - if ($call eq $main::mycall || grep $_ eq $call, get_all_user_calls()) { + if ($call eq $main::mycall || grep $_ eq $call, DXChannel::get_all_user_calls()) { # yes, it is my $text = unpad($field[3]); @@ -818,9 +818,10 @@ sub finish { my $self = shift; my $call = $self->call; + my $nopc39 = shift; my $ref = DXCluster->get_exact($call); - $self->send_now("D", DXProt::pc39($main::mycall, $self->msg('disc1', "System Op"))); + $self->send_now("D", DXProt::pc39($main::mycall, $self->msg('disc1', "System Op"))) unless $nopc39; # unbusy and stop and outgoing mail my $mref = DXMsg::get_busy($call); diff --git a/perl/cluster.pl b/perl/cluster.pl index 64cbab11..d9827a65 100755 --- a/perl/cluster.pl +++ b/perl/cluster.pl @@ -94,7 +94,7 @@ sub already_conn dbg('chan', "-> Z $call bye\n"); $conn->send_now("Z$call|bye"); # this will cause 'client' to disconnect sleep(1); - $conn->disconnect; + $conn->disconnect(); } # handle incoming messages @@ -105,7 +105,7 @@ sub rec if (defined $err && $err) { if ($dxchan) { - disconnect($dxchan); + $dxchan->disconnect; } return; } @@ -184,9 +184,9 @@ sub cease }; dbg('local', "Local::finish error $@") if $@; - # disconnect users + # disconnect nodes foreach $dxchan (DXChannel->get_all()) { - next if $dxchan->is_ak1a; + next unless $dxchan->is_ak1a; disconnect($dxchan) unless $dxchan == $DXProt::me; } Msg->event_loop(1, 0.05); @@ -196,9 +196,9 @@ sub cease Msg->event_loop(1, 0.05); Msg->event_loop(1, 0.05); - # disconnect nodes + # disconnect users foreach $dxchan (DXChannel->get_all()) { - next unless $dxchan->is_ak1a; + next if $dxchan->is_ak1a; disconnect($dxchan) unless $dxchan == $DXProt::me; } Msg->event_loop(1, 0.05); @@ -207,12 +207,6 @@ sub cease Msg->event_loop(1, 0.05); Msg->event_loop(1, 0.05); Msg->event_loop(1, 0.05); - Msg->event_loop(1, 0.05); - Msg->event_loop(1, 0.05); - Msg->event_loop(1, 0.05); - Msg->event_loop(1, 0.05); - Msg->event_loop(1, 0.05); - Msg->event_loop(1, 0.05); DXUser::finish(); # close all databases