diff options
author | Jeff Trawick <trawick@apache.org> | 2001-11-17 15:02:26 +0100 |
---|---|---|
committer | Jeff Trawick <trawick@apache.org> | 2001-11-17 15:02:26 +0100 |
commit | 502a0a8eb9fb7e5707f1ed100d1a49c9287208bd (patch) | |
tree | f4002edd4673e583f925cf9adfd68743e80af7a2 /server/mpm/threaded/threaded.c | |
parent | Externalize the functions to manage the mpm's queue of completion_contexts. (diff) | |
download | apache2-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.c | 6 |
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) { |