]> granicus.if.org Git - apache/commitdiff
clean up some mod_cgid issues related to other child maintenance...
authorJeff Trawick <trawick@apache.org>
Tue, 3 Apr 2001 19:12:14 +0000 (19:12 +0000)
committerJeff Trawick <trawick@apache.org>
Tue, 3 Apr 2001 19:12:14 +0000 (19:12 +0000)
  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

modules/generators/mod_cgid.c

index 4dc47f6cfb2b350b2a91e567164fea2f8b605649..4f2b33d4c547c3a3a3b4e0fa4547e2c85d3325fd 100644 (file)
@@ -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);