X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FExtMsg.pm;h=8324a8ca3296d2401e67e4faacbdd95f0e390ec6;hb=c1f83632350b6636e58ea6866551c1e3e61e66bb;hp=8e17cfa875c251dbb2c850bc4d636bd48b2fffe0;hpb=579810d363939640538f88a9caa86e01fe9c7709;p=spider.git diff --git a/perl/ExtMsg.pm b/perl/ExtMsg.pm index 8e17cfa8..8324a8ca 100644 --- a/perl/ExtMsg.pm +++ b/perl/ExtMsg.pm @@ -23,7 +23,7 @@ use IPC::Open3; use vars qw($VERSION $BRANCH); $VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ ); -$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ ) || 0; +$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ || (0,0)); $main::build += $VERSION; $main::branch += $BRANCH; @@ -95,7 +95,7 @@ sub dequeue dbg("connect $conn->{cnum}: $msg") if $conn->{state} ne 'C' && isdbg('connect'); $msg =~ s/\xff\xfa.*\xff\xf0|\xff[\xf0-\xfe].//g; # remove telnet options - $msg =~ s/[\x00-\x08\x0a-\x19\x1b-\x1f\x80-\x9f]/./g; # immutable CSI sequence + control characters +# $msg =~ s/[\x00-\x08\x0a-\x19\x1b-\x1f\x80-\x9f]/./g; # immutable CSI sequence + control characters if ($conn->{state} eq 'C') { &{$conn->{rproc}}($conn, "I$conn->{call}|$msg"); @@ -152,6 +152,7 @@ sub to_connected delete $conn->{cmd}; $conn->{timeout}->del if $conn->{timeout}; delete $conn->{timeout}; + $conn->nolinger; &{$conn->{rproc}}($conn, "$dir$call|$sort"); $conn->_send_file("$main::data/connected") unless $conn->{outgoing}; } @@ -162,6 +163,7 @@ sub new_client { if ($sock) { my $conn = $server_conn->new($server_conn->{rproc}); $conn->{sock} = $sock; + $conn->nolinger; Msg::blocking($sock, 0); $conn->{blocking} = 0; eval {$conn->{peerhost} = $sock->peerhost};