X-Git-Url: http://www.dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProt.pm;h=e433fdc48df5a5aa8737c631f6a5e5e392f0fbd5;hb=9e2fbafcfdab1ee45e581524311f1a97ac41f6ad;hp=751daf04de0698fa1ff0f63cb2e7b15a6b59c5c6;hpb=6ab5f0300e614249c24916600817ae221a6bdc8c;p=spider.git diff --git a/perl/DXProt.pm b/perl/DXProt.pm index 751daf04..e433fdc4 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -24,6 +24,7 @@ use DXProtout; use DXDebug; use Filter; use Local; +use DXDb; use Carp; @@ -670,11 +671,7 @@ sub normal last SWITCH; } if ($pcno == 37 || $pcno == 44 || $pcno == 45 || $pcno == 46 || $pcno == 47) { - if ($field[1] eq $main::mycall) { - ; - } else { - $self->route($field[1], $line); - } + DXDb::process($self, $line); return; } @@ -699,9 +696,11 @@ sub normal # it's a reply, look in the ping list for this one my $ref = $pings{$field[2]}; if ($ref) { - my $r = shift @$ref; - my $dxchan = DXChannel->get($r->{call}); - $dxchan->send($dxchan->msg('pingi', $field[2], atime($main::systime), $main::systime - $r->{t})) if $dxchan; + while (@$ref) { + my $r = shift @$ref; + my $dxchan = DXChannel->get($r->{call}); + $dxchan->send($dxchan->msg('pingi', $field[2], atime($main::systime), $main::systime - $r->{t})) if $dxchan; + } } }