a working version?
[spider.git] / perl / Msg.pm
index 7114eba8b9eea3ad3e9133d921f162694fbb824b..9df7640ecbbfbfecd5a80493469a5abacb1700f5 100644 (file)
@@ -5,6 +5,9 @@
 #
 # I have modified it to suit my devious purposes (Dirk Koopman G1TLH)
 #
+# $Id$
+#
+
 package Msg;
 
 require Exporter;
@@ -64,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 {
@@ -162,6 +166,7 @@ sub set_blocking {
         fcntl ($_[0], F_SETFL(), $flags);
     }
 }
+
 sub handle_send_err {
    # For more meaningful handling of send errors, subclass Msg and
    # rebless $conn.  
@@ -274,6 +279,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