X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXCommandmode.pm;h=9dc967b6d1a85e43cc353fc64c8317d5d50ecc18;hb=5d4486dbbd2c0d758629b28a1a6e3b2f16c4bfb5;hp=8c7b67fda32f11a5f64c8dd15e2a0975ea83cc36;hpb=febdc9bd8f6cd065d217ba089fab4361e9980f35;p=spider.git diff --git a/perl/DXCommandmode.pm b/perl/DXCommandmode.pm index 8c7b67fd..9dc967b6 100644 --- a/perl/DXCommandmode.pm +++ b/perl/DXCommandmode.pm @@ -48,6 +48,13 @@ $maxerrors = 20; # the maximum number of concurrent errors allowed before dis sub new { my $self = DXChannel::alloc(@_); + + # routing, this must go out here to prevent race condx + my $pkg = shift; + my $call = shift; + my @rout = $main::routeroot->add_user($call, Route::here(1)); + DXProt::route_pc16($DXProt::me, $main::routeroot, @rout) if @rout; + return $self; } @@ -100,10 +107,6 @@ sub start $DXProt::me->conn($self->conn) if $call eq $main::myalias; # send all output for mycall to myalias - # routing version - my @rout = $main::routeroot->add_user($call, Route::here($self->{here})); - dbg('route', "B/C PC16 on $main::mycall for: $call") if @rout; - DXProt::route_pc16($DXProt::me, $main::routeroot, @rout) if @rout; Log('DXCommand', "$call connected"); # send prompts and things