shutdown quicker by not manipulating routing table
[spider.git] / perl / DXProt.pm
index 596f1f08d3a1256d1ddfab84a815b6be674feee3..42479d86216ff9a43df0d773f77be59bbe417ebc 100644 (file)
@@ -783,7 +783,21 @@ sub announce
 
 sub chat
 {
-       goto &announce;
+       my $self = shift;
+       my $line = shift;
+       my $isolate = shift;
+       my $to = shift;
+       my $target = shift;
+       my $text = shift;
+       my ($filter, $hops);
+
+       if ($self->{annfilter}) {
+               ($filter, $hops) = $self->{annfilter}->it(@_);
+               return unless $filter;
+       }
+       if (($self->is_spider || $self->is_ak1a) && $_[1] ne $main::mycall) {
+               send_prot_line($self, $filter, $hops, $isolate, $line);
+       }
 }
 
 
@@ -1173,7 +1187,7 @@ sub disconnect
 
        # here we determine what needs to go out of the routing table
        my @rout;
-       if ($node) {
+       if ($node && $pc39flag != 2) {
                dbg('%Route::Node::List = ' . join(',', sort keys %Route::Node::list)) if isdbg('routedisc');
 
                @rout = $node->del($main::routeroot);