summaryrefslogtreecommitdiff
path: root/modules/generators/mod_cgid.c
diff options
context:
space:
mode:
authorJeff Trawick <trawick@apache.org>2001-04-03 19:12:14 +0000
committerJeff Trawick <trawick@apache.org>2001-04-03 19:12:14 +0000
commitdcff7edfd11dceb2c0880ee4470c43a09cfe7471 (patch)
tree04e210dd4786081852527346b1cd94afce49f251 /modules/generators/mod_cgid.c
parent505c087ca367f92316ae04a622e749c7455b6c6e (diff)
downloadhttpd-dcff7edfd11dceb2c0880ee4470c43a09cfe7471.tar.gz
clean up some mod_cgid issues related to other child maintenance...
the APR_OC_REASON_DEATH/APR_OC_REASON_LOST code was sending SIGWINCH to the parent (usually init) instead of itself APR_OC_REASON_RESTART/_UNREGISTER code separated so that we go through there once git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88697 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/generators/mod_cgid.c')
-rw-r--r--modules/generators/mod_cgid.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/modules/generators/mod_cgid.c b/modules/generators/mod_cgid.c
index 4dc47f6cfb..4f2b33d4c5 100644
--- a/modules/generators/mod_cgid.c
+++ b/modules/generators/mod_cgid.c
@@ -236,9 +236,11 @@ static void cgid_maint(int reason, void *data, apr_wait_t status)
/* stop gap to make sure everything else works. In the end,
* we'll just restart the cgid server. */
apr_pool_destroy(pcgi);
- kill(getppid(), SIGWINCH);
+ kill(getpid(), SIGWINCH); /* yes, to ourself */
break;
case APR_OC_REASON_RESTART:
+ apr_proc_other_child_unregister(data);
+ break;
case APR_OC_REASON_UNREGISTER:
apr_pool_destroy(pcgi);
kill(*sd, SIGHUP);