]> granicus.if.org Git - apache/commitdiff
Fix a segfault in apr_proc_other_child_unregister. Jeff recently made
authorBill Stoddard <stoddard@apache.org>
Thu, 17 May 2001 12:10:22 +0000 (12:10 +0000)
committerBill Stoddard <stoddard@apache.org>
Thu, 17 May 2001 12:10:22 +0000 (12:10 +0000)
a change in APR otherchild.c to unregister all OC registrations as
part of pool cleanup.  This means that we must NOT explicitly call
apr_proc_other_child_unregister out of other pool clean-up routines.
In this case, the OC cleanup was being called first then the piped_log_cleanup
was being called which called apr_proc_other_child_unregister.

We could fix this by detecting the case when there are no more OCs registered
in apr_proc_other_child_unregister but that might just mask other problems we
need to fix anyway.

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

server/log.c

index 4ba0b4c6f32b0edcb12df0c344c66d768f35355a..a73abb0234714ec9dca51c5846fb997232f1d68a 100644 (file)
@@ -673,7 +673,6 @@ static apr_status_t piped_log_cleanup(void *data)
     if (pl->pid != NULL) {
        apr_proc_kill(pl->pid, SIGTERM);
     }
-    apr_proc_other_child_unregister(pl);
     apr_file_close(ap_piped_log_read_fd(pl));
     apr_file_close(ap_piped_log_write_fd(pl));
     return APR_SUCCESS;