From: Jeff Trawick Date: Thu, 1 Feb 2001 22:09:08 +0000 (+0000) Subject: keep mod_cgid from segfaulting on SIGHUP; it assumed X-Git-Tag: APACHE_2_0_BETA_CANDIDATE_1~21 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=553cdad8024069a3b3258d3445dfe057069b18dd;p=apache keep mod_cgid from segfaulting on SIGHUP; it assumed 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 --- diff --git a/modules/generators/mod_cgid.c b/modules/generators/mod_cgid.c index 8eb17f2f97..a718f71a65 100644 --- a/modules/generators/mod_cgid.c +++ b/modules/generators/mod_cgid.c @@ -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 } }