]> arthur.barton.de Git - netatalk.git/blobdiff - libatalk/util/server_child.c
Merge branch 'sendfile' into develop
[netatalk.git] / libatalk / util / server_child.c
index 8b27f6f3ef13626f70dfdb8669d4f0363eb01d42..b4bc3542acf562731539744a20f7f1136f718d68 100644 (file)
@@ -55,8 +55,6 @@ typedef struct server_child_fork {
     void (*cleanup)(const pid_t);
 } server_child_fork;
 
-int parent_or_child; /* 0: parent, 1: child */
-
 static inline void hash_child(struct server_child_data **htable,
                               struct server_child_data *child)
 {
@@ -201,6 +199,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;
@@ -208,6 +207,9 @@ 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->clientid) {
                     free(child->clientid);
                 }