]> granicus.if.org Git - apache/commitdiff
keep mod_cgid from segfaulting on SIGHUP; it assumed
authorJeff Trawick <trawick@apache.org>
Thu, 1 Feb 2001 22:09:08 +0000 (22:09 +0000)
committerJeff Trawick <trawick@apache.org>
Thu, 1 Feb 2001 22:09:08 +0000 (22:09 +0000)
access to a pid, but that wasn't passed to apr_register_other_child

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87950 13f79535-47bb-0310-9956-ffa450edef68

modules/generators/mod_cgid.c

index 8eb17f2f97f724f89a1851d64b741ddd92339234..a718f71a6589a889e5f96a860062ef60dba2c862 100644 (file)
@@ -210,7 +210,7 @@ static char **create_argv(apr_pool_t *p, char *path, char *user, char *group,
 static void cgid_maint(int reason, void *data, apr_wait_t status)
 {
 #if APR_HAS_OTHER_CHILD
-    int *sd = data;
+    pid_t *sd = data;
     switch (reason) {
         case APR_OC_REASON_DEATH:
         case APR_OC_REASON_LOST:
@@ -558,12 +558,12 @@ static void cgid_init(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp,
             cgid_server(main_server);
             exit(-1);
         } 
-        procnew = apr_pcalloc(p, sizeof(*procnew));        
+        procnew = apr_pcalloc(p, sizeof(*procnew));
         procnew->pid = pid;
         procnew->err = procnew->in = procnew->out = NULL;
         apr_note_subprocess(p, procnew, kill_after_timeout);
 #if APR_HAS_OTHER_CHILD
-        apr_register_other_child(procnew, cgid_maint, NULL, NULL, p);
+        apr_register_other_child(procnew, cgid_maint, &procnew->pid, NULL, p);
 #endif
     }
 }