X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=netatalk.git;a=blobdiff_plain;f=libatalk%2Futil%2Fserver_child.c;h=1b30593ebd1bf801a03805c7f6fce3f7d1f9fb60;hp=016029f8c4200a34e87896f0eba8460326e02f89;hb=0cc642580158fcc7b10792354f7d6846a87904b0;hpb=41ec212974b033d23f7b8e115ec4542ca69305b5 diff --git a/libatalk/util/server_child.c b/libatalk/util/server_child.c index 016029f8..1b30593e 100644 --- a/libatalk/util/server_child.c +++ b/libatalk/util/server_child.c @@ -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); }