]> dxcluster.org Git - spider.git/commitdiff
try to gather more info on disappearing nodes
authorminima <minima>
Mon, 15 Jan 2007 14:43:49 +0000 (14:43 +0000)
committerminima <minima>
Mon, 15 Jan 2007 14:43:49 +0000 (14:43 +0000)
perl/DXProt.pm
perl/Route/Node.pm

index c00219ecd780b4354d79fb4d61403ca017fb76ed..f4e4e0d5c4caf03ba05a7f7fab5bd0bbe6f512eb 100644 (file)
@@ -843,9 +843,17 @@ sub time_out_pc92_routes
        my @rdel;
        foreach my $n (@nodes) {
                if ($n->dec_obs <= 0) {
+                       if (my $dxchan = DXChannel::get($n->call)) {
+                               dbg("ROUTE: disconnecting local pc92 $_->{call} on obscount") if isdbg('route');
+                               $dxchan->disconnect;
+                               next;
+                       }
                        my @parents = map {Route::Node::get($_)} $n->parents;
                        for (@parents) {
-                               push @rdel, $n->del($_) if $_;
+                               if ($_) {
+                                       dbg("ROUTE: deleting pc92 $_->{call} from $n->{call} on obscount") if isdbg('route');
+                                       push @rdel, $n->del($_);
+                               }
                        }
                }
        }
index 514f0c0e5f9157ea10dd76da7ed6e0db896e0cd0..ee1c9140ca3facb8a5dad741d8c8ace4f3ab1ec8 100644 (file)
@@ -309,6 +309,7 @@ sub dec_obs
 {
        my $self = shift;
        $self->{obscount}--;
+       return $self->{obscount};
 }
 
 sub reset_obs