projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
more bandaids
[spider.git]
/
perl
/
DXCommandmode.pm
diff --git
a/perl/DXCommandmode.pm
b/perl/DXCommandmode.pm
index 8c7b67fda32f11a5f64c8dd15e2a0975ea83cc36..9dc967b6d1a85e43cc353fc64c8317d5d50ecc18 100644
(file)
--- 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(@_);
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;
}
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
$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
Log('DXCommand', "$call connected");
# send prompts and things