From: Marc G. Fournier Date: Thu, 24 Apr 1997 20:27:46 +0000 (+0000) Subject: Fixes: X-Git-Tag: REL6_1~256 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=79ee06c186e26e244e6e015546aa0755140fe3f1;p=thirdparty%2Fpostgresql.git Fixes: postgres backend processes end up as so called zombies. It seems that only Linux a.out (libc.4.6.27) systems are affected. By: Wolfgang Roth --- diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index 5c749c5f353..e2a296a379f 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.44 1997/03/12 21:18:38 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.45 1997/04/24 20:27:46 scrappy Exp $ * * NOTES * @@ -818,11 +818,15 @@ reaper(SIGNAL_ARGS) fprintf(stderr, "%s: reaping dead processes...\n", progname); #ifdef HAVE_WAITPID - while((pid = waitpid(-1, &status, WNOHANG)) > 0) + while((pid = waitpid(-1, &status, WNOHANG)) > 0) { CleanupProc(pid, status); + pqsignal(SIGCHLD, reaper); + } #else - while((pid = wait3(&statusp, WNOHANG, NULL)) > 0) + while((pid = wait3(&statusp, WNOHANG, NULL)) > 0) { CleanupProc(pid, statusp.w_status); + pqsignal(SIGCHLD, reaper); + } #endif }