summaryrefslogtreecommitdiffstats
path: root/server/mpm/threaded/threaded.c
diff options
context:
space:
mode:
authorJeff Trawick <trawick@apache.org>2001-11-17 15:02:26 +0100
committerJeff Trawick <trawick@apache.org>2001-11-17 15:02:26 +0100
commit502a0a8eb9fb7e5707f1ed100d1a49c9287208bd (patch)
treef4002edd4673e583f925cf9adfd68743e80af7a2 /server/mpm/threaded/threaded.c
parentExternalize the functions to manage the mpm's queue of completion_contexts. (diff)
downloadapache2-502a0a8eb9fb7e5707f1ed100d1a49c9287208bd.tar.xz
apache2-502a0a8eb9fb7e5707f1ed100d1a49c9287208bd.zip
Get mod_cgid killed when a MPM exits due to a fatal error.
Presumably other such processes are affected to. Now we give main() a chance to clean up. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92019 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'server/mpm/threaded/threaded.c')
-rw-r--r--server/mpm/threaded/threaded.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/server/mpm/threaded/threaded.c b/server/mpm/threaded/threaded.c
index ad2274d650..4a1498f6ed 100644
--- a/server/mpm/threaded/threaded.c
+++ b/server/mpm/threaded/threaded.c
@@ -1129,7 +1129,11 @@ static void server_main_loop(int remaining_children_to_start)
ap_wait_or_timeout(&exitwhy, &status, &pid, pconf);
if (pid.pid != -1) {
- ap_process_child_status(&pid, exitwhy, status);
+ if (ap_process_child_status(&pid, exitwhy, status) != 0) {
+ /* if we keep this MPM, somebody fix handling of APEXIT_CHILDFATAL */
+ exit(1);
+ }
+
/* non-fatal death... note that it's gone in the scoreboard. */
child_slot = find_child_by_pid(&pid);
if (child_slot >= 0) {