X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Finit.pl;h=ab49b6ee4ca9c78a6811d13b0bae0ae2db65e02f;hb=eadf33631520314ad5bf7d9daa3abd49935ce0cb;hp=b88ed013352bcb4d0c396917332ad09a5a507b58;hpb=95345d68a5a8ac618021c0786c7234258b903f6e;p=spider.git diff --git a/cmd/init.pl b/cmd/init.pl index b88ed013..ab49b6ee 100644 --- a/cmd/init.pl +++ b/cmd/init.pl @@ -18,16 +18,10 @@ foreach $call (@calls) { my $dxchan = DXChannel->get($call); if ($dxchan) { if ($dxchan->is_node) { - # first clear out any nodes on this dxchannel - my @gonenodes = grep { $_->dxchan == $dxchan } DXNode::get_all(); - foreach my $node (@gonenodes) { - next if $node->dxchan == $DXProt::me; - next unless $node->dxchan == $dxchan; - DXProt::broadcast_ak1a(DXProt::pc21($node->call, 'Gone, re-init') , $dxchan) unless $dxchan->{isolate}; - $node->del(); - } -# $dxchan->send(DXProt::pc38()); + my $parent = Route::Node::get($call); + my @rout = $parent->del_nodes; + $dxchan->route_pc21(undef, $self, @rout) if @rout; $dxchan->send(DXProt::pc18()); $dxchan->state('init'); push @out, $self->msg('init1', $call);