X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FMsg.pm;h=9a6f8d1f06894cd25d749afc9d2bac8019fd132d;hb=681ed7b3c6d79228a68054489058b619f62974bf;hp=d0ad733048a3c0699d14695ae2263fb48ac80074;hpb=cbb522ef802d48991734a4ce803fa6ffa9774588;p=spider.git diff --git a/perl/Msg.pm b/perl/Msg.pm index d0ad7330..9a6f8d1f 100644 --- a/perl/Msg.pm +++ b/perl/Msg.pm @@ -18,7 +18,7 @@ use Mojo::IOLoop; use Mojo::IOLoop::Stream; use DXDebug; -use Timer; +use DXTimer; use vars qw($now %conns $noconns $cnum $total_in $total_out $total_lines_in $total_lines_out $connect_timeout $disc_waittime); @@ -133,6 +133,7 @@ sub peerhost $conn->{peerhost} ||= $conn->{sock}->handle->peerhost if $conn->{sock}; $conn->{peerhost} ||= 'UNKNOWN'; } + $conn->{peerhost} =~ s/^::ffff://; return $conn->{peerhost}; } @@ -291,7 +292,8 @@ sub disconnect dbg("Buffer empty, just close $call") if $dbg; _close_it($conn); } - } else { + } + else { dbg((ref $conn) . " socket missing on $conn->{call}") if $dbg; _close_it($conn); } @@ -320,7 +322,7 @@ sub _close_it if ($sock) { dbg((ref $conn) . " Connection $conn->{cnum} $call closing gracefully") if isdbg('connll'); - $sock->close_gracefully; + $sock->close_gracefully if $sock->can('close_gracefully'); } # get rid of any references @@ -570,7 +572,8 @@ sub DESTROY my $sock = $conn->{sock}; if ($sock) { - $sock->close_gracefully; + $sock->close_gracefully if $sock->can('close_gracefully'); + delete $conn->{sock}; } $noconns--;