X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FMsg.pm;h=e1ece5b93c35e932e118308785b6d8d7ca3e478f;hb=d48a80e399a780eb6a880870346a46e02f0e7972;hp=20e000334ca5d72d103d51e63f17694ea643bc88;hpb=0017002e2dc438d49fcc090dc99b6d22f7037aa7;p=spider.git diff --git a/perl/Msg.pm b/perl/Msg.pm index 20e00033..e1ece5b9 100644 --- a/perl/Msg.pm +++ b/perl/Msg.pm @@ -67,7 +67,8 @@ sub disconnect { my $sock = delete $conn->{sock}; return unless defined($sock); set_event_handler ($sock, "read" => undef, "write" => undef); - close($sock); + shutdown($sock, 3); + close($sock); } sub send_now { @@ -277,6 +278,13 @@ sub _new_client { } } +sub close_server +{ + set_event_handler ($main_socket, "read" => undef); + $main_socket->close; + $main_socket = 0; +} + #---------------------------------------------------- # Event loop routines used by both client and server