fix wrong SIGCHLD reaper
authorFrancesco Paolo Lovergine <frankie@debian.org>
Tue, 7 Nov 2006 20:07:46 +0000 (21:07 +0100)
committerMalte S. Stretz <mss@apache.org>
Tue, 5 Jul 2011 14:10:13 +0000 (16:10 +0200)
See also http://bugs.debian.org/373009

src/knockd.c

index 2cc5e72..593bd2e 100644 (file)
@@ -352,8 +352,9 @@ void cleanup(int signum)
 
 void child_exit(int signum)
 {
-       /* child wants to exit, let em die */
-       wait(NULL);
+       int status;
+
+       while ( waitpid( (pid_t)-1, &status, WNOHANG ) > 0 ) continue;
        return;
 }