X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FMsg.pm;h=087c0f263ed27c2653876c66fe0966da8dbcb928;hb=f6d0b05b25a61cb6d3aa671b7a8f5d4a69817b1c;hp=d0ad733048a3c0699d14695ae2263fb48ac80074;hpb=cbb522ef802d48991734a4ce803fa6ffa9774588;p=spider.git diff --git a/perl/Msg.pm b/perl/Msg.pm index d0ad7330..087c0f26 100644 --- a/perl/Msg.pm +++ b/perl/Msg.pm @@ -291,7 +291,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 +321,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 +571,8 @@ sub DESTROY my $sock = $conn->{sock}; if ($sock) { - $sock->close_gracefully; + $sock->close_gracefully if $sock->can('close_gracefully'); + delete $conn->{sock}; } $noconns--;