X-Git-Url: http://www.dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FMsg.pm;h=3fa0e6762166816f86d31ebaaf2d2849b45a5ef9;hb=370d3563d7df44b754549330fb640051f7c31889;hp=60906c5964df83b0e547cd28628caaafefdf149c;hpb=a22dbff21bb1ccb696276c23566ba830421fd3a0;p=spider.git diff --git a/perl/Msg.pm b/perl/Msg.pm index 60906c59..3fa0e676 100644 --- a/perl/Msg.pm +++ b/perl/Msg.pm @@ -234,9 +234,14 @@ sub disconnect } } - if (defined($sock)) { + if (ref $sock && $sock->isa('AnyEvent::Handle') && exists $sock->{fh}) { shutdown($sock->{fh}, 2); $sock->destroy; + } else { + my $s; + $s = "already destroyed" unless exists $sock->{fh}; + $s ||= ref $sock || $sock || "undefined"; + dbg("Msg::disconnect trying to disconnect a $s socket") if isdbg('chan'); } unless ($main::is_win) {