]> Zhao Yanbai Git Server - minix.git/commitdiff
tcpd: waitpid() for any child process 06/606/1
authorBen Gras <ben@minix3.org>
Thu, 30 May 2013 19:41:45 +0000 (19:41 +0000)
committerBen Gras <ben@minix3.org>
Thu, 30 May 2013 19:41:45 +0000 (19:41 +0000)
. prevents zombies from accumulating for as long as tcpd exists
  for child processes that create their own process group, e.g. ftpd.

Change-Id: Ic56597810f7d17e1cc28b755e2d1998ecf49a27c

commands/tcpd/tcpd.c

index 2f86d43921ab58d3ee7b06a40a21763611cb153a..01fa3a194b072f392753b8deab413e6ec023a1fd 100644 (file)
@@ -40,7 +40,7 @@ static void report(const char *label)
 
 static void sigchld(int sig)
 {
-    while (waitpid(0, NULL, WNOHANG) > 0) {
+    while (waitpid(-1, NULL, WNOHANG) > 0) {
        if (nchildren > 0) nchildren--;
     }
 }