In sigchild_handler(), finish with waitpid() before reinitializing
authorWayne Davison <wayned@samba.org>
Mon, 29 Mar 2004 16:30:53 +0000 (16:30 +0000)
committerWayne Davison <wayned@samba.org>
Mon, 29 Mar 2004 16:30:53 +0000 (16:30 +0000)
the SIGCHLD handling.

socket.c

index 772bb92..140480b 100644 (file)
--- a/socket.c
+++ b/socket.c
@@ -431,10 +431,10 @@ int is_a_socket(int fd)
 
 static RETSIGTYPE sigchld_handler(UNUSED(int val))
 {
-       signal(SIGCHLD, sigchld_handler);
 #ifdef WNOHANG
        while (waitpid(-1, NULL, WNOHANG) > 0) {}
 #endif
+       signal(SIGCHLD, sigchld_handler);
 }