]> arthur.barton.de Git - netatalk.git/commitdiff
Close IPC file descriptors inherited from afpd master process
authorFrank Lahm <franklahm@googlemail.com>
Thu, 26 Apr 2012 11:36:50 +0000 (13:36 +0200)
committerFrank Lahm <franklahm@googlemail.com>
Thu, 26 Apr 2012 11:36:50 +0000 (13:36 +0200)
libatalk/util/server_child.c

index 016029f8c4200a34e87896f0eba8460326e02f89..1b30593ebd1bf801a03805c7f6fce3f7d1f9fb60 100644 (file)
@@ -207,6 +207,7 @@ void server_child_free(server_child *children)
     server_child_fork *fork;
     struct server_child_data *child, *tmp;
     int i, j;
+    pid_t pid = getpid();
 
     for (i = 0; i < children->nforks; i++) {
         fork = (server_child_fork *) children->fork + i;
@@ -214,6 +215,12 @@ void server_child_free(server_child *children)
             child = fork->table[j]; /* start at the beginning */
             while (child) {
                 tmp = child->next;
+
+                if (child->ipc_fds[0] != -1)
+                    close(child->ipc_fds[0]);
+                if (child->ipc_fds[1] != -1)
+                    close(child->ipc_fds[1]);
+
                 if (child->clientid) {
                     free(child->clientid);
                 }