From: minima Date: Mon, 15 Jan 2007 16:40:30 +0000 (+0000) Subject: add more debugging and (possibly) fix the problem. X-Git-Tag: 1.54~43 X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=5f157325d2246e684a8e41ab47bd02638b3bed8d;p=spider.git add more debugging and (possibly) fix the problem. --- diff --git a/perl/DXProt.pm b/perl/DXProt.pm index f4e4e0d5..7d0787d2 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -842,9 +842,10 @@ sub time_out_pc92_routes my @nodes = grep {$_->do_pc92 || $_->via_pc92} Route::Node::get_all(); my @rdel; foreach my $n (@nodes) { - if ($n->dec_obs <= 0) { + my $o = $n->dec_obs; + if ($o <= 0) { if (my $dxchan = DXChannel::get($n->call)) { - dbg("ROUTE: disconnecting local pc92 $_->{call} on obscount") if isdbg('route'); + dbg("ROUTE: disconnecting local pc92 $dxchan->{call} on obscount") if isdbg('route'); $dxchan->disconnect; next; } @@ -855,6 +856,8 @@ sub time_out_pc92_routes push @rdel, $n->del($_); } } + } else { + dbg("ROUTE: obscount on $n->{call} now $o") if isdbg('route'); } } for (@rdel) { diff --git a/perl/DXProtHandle.pm b/perl/DXProtHandle.pm index 241b7c3a..f0dd2760 100644 --- a/perl/DXProtHandle.pm +++ b/perl/DXProtHandle.pm @@ -1458,6 +1458,8 @@ sub handle_92 $parent->do_pc92(1); $parent->via_pc92(1); $parent->reset_obs; + dbg("ROUTE: reset obscount on $pcall now " . $parent->obscount) if isdbg('route'); + if (@ent) { @@ -1481,7 +1483,10 @@ sub handle_92 dbg("PCPROT: no previous C or A for this external node received, ignored") if isdbg('chanerr'); return; } - my $parent = check_pc9x_t($call, $t, 92) || return; + $parent = check_pc9x_t($call, $t, 92) || return; + $parent->via_pc92(1); + $parent->reset_obs; + dbg("ROUTE: reset obscount on $pcall now " . $parent->obscount) if isdbg('route'); } } else { dbg("PCPROT: must be mycall or external node as first entry, ignored") if isdbg('chanerr'); @@ -1490,8 +1495,6 @@ sub handle_92 $parent->here(Route::here($here)); $parent->version($version) if $version && $version > $parent->version; $parent->build($build) if $build && $build > $parent->build; - $parent->via_pc92(1); - $parent->reset_obs; shift @ent; }