]> arthur.barton.de Git - netatalk.git/blobdiff - libatalk/util/server_ipc.c
Merge master
[netatalk.git] / libatalk / util / server_ipc.c
index 76d3bc3b8a1f492433b77084ab6d207e0e5179ec..f00f83b39494d9d2be6e67414ba1c69c9feefca4 100644 (file)
@@ -9,9 +9,7 @@
 #endif 
 
 #include <sys/types.h>
-#ifdef HAVE_UNISTD_H
 #include <unistd.h>
-#endif 
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -85,8 +83,8 @@ static int ipc_get_session(struct ipc_header *ipc, server_child *children)
         return -1;
     memcpy (clientid, p, idlen);
   
-    LOG (log_debug, logtype_afpd, "ipc_get_session(pid: %u, uid: %u, time %x)",
-         ipc->child_pid, ipc->uid, boottime); 
+    LOG(log_debug, logtype_afpd, "ipc_get_session(pid: %u, uid: %u, time: 0x%08x)",
+        ipc->child_pid, ipc->uid, boottime); 
 
     server_child_kill_one_by_id(children,
                                 CHILD_DSIFORK,
@@ -180,8 +178,9 @@ int ipc_server_read(server_child *children, int fd)
             /* Transfered session (ie afp_socket) to old disconnected child, now kill the new one */
             LOG(log_note, logtype_afpd, "Reconnect: killing new session child[%u] after transfer",
                 ipc.child_pid);
-            kill(ipc.child_pid, SIGKILL);
+            kill(ipc.child_pid, SIGTERM);
         }        
+        close(ipc.afp_socket);
         break;
 
        case IPC_GETSESSION:
@@ -234,4 +233,3 @@ int ipc_child_write(int fd, uint16_t command, int len, void *msg)
 
    return write(fd, block, len+IPC_HEADERLEN );
 }
-