mirror of
git://scm.dxcluster.org/scm/spider
synced 2024-09-21 15:57:12 +00:00
decode AGW messages when there 36 bytes available
This commit is contained in:
parent
02a0660296
commit
f27e9460a8
@ -183,6 +183,8 @@ sub _rcv { # Complement to _send
|
||||
if (defined ($bytes_read)) {
|
||||
if ($bytes_read > 0) {
|
||||
$inmsg .= $msg;
|
||||
# $msg =~ s/([\x00-\x1f\x7f-\xff])/sprintf("%%%02X", ord($1))/eg;
|
||||
# dbg('connll', $msg);
|
||||
}
|
||||
} else {
|
||||
if (Msg::_err_will_block($!)) {
|
||||
@ -196,7 +198,7 @@ FINISH:
|
||||
if (defined $bytes_read && $bytes_read == 0) {
|
||||
finish();
|
||||
} else {
|
||||
_decode() if length $inmsg > 36;
|
||||
_decode() if length $inmsg >= 36;
|
||||
}
|
||||
}
|
||||
|
||||
@ -358,7 +360,8 @@ sub _decode
|
||||
dbg('agw', "AGW Port: $_");
|
||||
}
|
||||
for (my $i = 0; $i < $noports; $i++) {
|
||||
_sendf('y', undef, undef, $i );
|
||||
_sendf('y', undef, undef, $i);
|
||||
_sendf('g', undef, undef, $i);
|
||||
}
|
||||
} else {
|
||||
my $d = unpack "Z*", $data;
|
||||
|
@ -482,7 +482,7 @@ sub event_loop {
|
||||
# Quit the loop if no handles left to process
|
||||
last unless ($rd_handles->count() || $wt_handles->count());
|
||||
|
||||
($rset, $wset) = IO::Select->select($rd_handles, $wt_handles, $er_handles, $timeout);
|
||||
($rset, $wset, $eset) = IO::Select->select($rd_handles, $wt_handles, $er_handles, $timeout);
|
||||
|
||||
foreach $e (@$eset) {
|
||||
&{$er_callbacks{$e}}($e) if exists $er_callbacks{$e};
|
||||
|
Loading…
Reference in New Issue
Block a user