projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
try to gather more info on disappearing nodes
[spider.git]
/
perl
/
DXProt.pm
diff --git
a/perl/DXProt.pm
b/perl/DXProt.pm
index f8b3e08bbfebf21e27475c5a46cd31b1f9b5f841..f4e4e0d5c4caf03ba05a7f7fab5bd0bbe6f512eb 100644
(file)
--- a/
perl/DXProt.pm
+++ b/
perl/DXProt.pm
@@
-221,6
+221,8
@@
sub init
$main::me->{registered} = 1;
$main::me->{version} = $main::version;
$main::me->{build} = $main::build;
$main::me->{registered} = 1;
$main::me->{version} = $main::version;
$main::me->{build} = $main::build;
+ $main::me->{do_pc92} = 1;
+ $main::me->{via_pc92} = 1;
}
#
}
#
@@
-841,9
+843,17
@@
sub time_out_pc92_routes
my @rdel;
foreach my $n (@nodes) {
if ($n->dec_obs <= 0) {
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) {
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($_);
+ }
}
}
}
}
}
}
@@
-1226,8
+1236,8
@@
sub broadcast_route_pc9x
$line =~ /\^H(\d+)\^\~?$/;
unless ($1 > 0 && $self->{isolate}) {
foreach $dxchan (@dxchan) {
$line =~ /\^H(\d+)\^\~?$/;
unless ($1 > 0 && $self->{isolate}) {
foreach $dxchan (@dxchan) {
- next if $dxchan == $self;
- next if $
dxchan == $main::me;
+ next if $dxchan == $self
|| $main::me
;
+ next if $
origin eq $dxchan->{call}; # don't route some from this call back again.
next unless $dxchan->{do_pc92};
next unless $dxchan->isa('DXProt');
next unless $dxchan->{do_pc92};
next unless $dxchan->isa('DXProt');