X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2Fclient.pl;h=1a57a1c6e983bb229d283fe4f040ff0aee9e3c2a;hb=6897e4adf0c591b13b2f9270f9b59158463dac49;hp=2392dfa8662f0b1b2d16a83e863281254471c97d;hpb=8ac487c0c3297023df07493b11fe166d4c857081;p=spider.git diff --git a/perl/client.pl b/perl/client.pl index 2392dfa8..1a57a1c6 100755 --- a/perl/client.pl +++ b/perl/client.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/perl -w # # A thing that implements dxcluster 'protocol' # @@ -45,7 +45,7 @@ use IO::File; use IO::Socket; use IPC::Open2; use Net::Telnet qw(TELOPT_ECHO); -use Carp; +use Carp qw{cluck}; # cease communications sub cease @@ -59,6 +59,8 @@ sub cease dbg('connect', "killing $pid"); kill(9, $pid); } + dbgclose(); +# $SIG{__WARN__} = sub {my $a = shift; cluck($a); }; sleep(1); exit(0); } @@ -127,7 +129,8 @@ sub rec_socket $mode = $line; # set echo mode from cluster my $term = POSIX::Termios->new; $term->getattr(fileno($sock)); - $term->setflag( &POSIX::ISIG ); + $term->setiflag( 0 ); + $term->setoflag( 0 ); $term->setattr(fileno($sock), &POSIX::TCSANOW ); } } elsif ($sort eq 'I') { @@ -322,9 +325,9 @@ $waitedpid = 0; # deal with args # -$call = uc shift @ARGV; +$call = uc shift @ARGV if @ARGV; $call = uc $myalias if !$call; -$connsort = lc shift @ARGV; +$connsort = lc shift @ARGV if @ARGV; $connsort = 'local' if !$connsort; $loginreq = $call eq 'LOGIN'; @@ -471,7 +474,7 @@ if (! $conn) { open IN, "$data/offline" or die; while () { s/\n/\r/og if $mode == 1; - print $stdout; + print $stdout $_; } close IN; } else {