diff options
Diffstat (limited to 'server/mpm/experimental/event/event.c')
-rw-r--r-- | server/mpm/experimental/event/event.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/server/mpm/experimental/event/event.c b/server/mpm/experimental/event/event.c index e105c25e97..c7c5bbbf97 100644 --- a/server/mpm/experimental/event/event.c +++ b/server/mpm/experimental/event/event.c @@ -1582,6 +1582,7 @@ static int make_child(server_rec * s, int slot) /* else */ ap_scoreboard_image->parent[slot].quiescing = 0; ap_scoreboard_image->parent[slot].pid = pid; + ap_set_pid_table(pid); return 0; } @@ -1999,10 +2000,12 @@ int ap_mpm_run(apr_pool_t * _pconf, apr_pool_t * plog, server_rec * s) active_children = 0; for (index = 0; index < ap_daemons_limit; ++index) { if (MPM_CHILD_PID(index) != 0) { - if (kill(MPM_CHILD_PID(index), 0) == 0) { + if (ap_in_pid_table(MPM_CHILD_PID(index))) { + if (kill(MPM_CHILD_PID(index), 0) == 0) { active_children = 1; /* Having just one child is enough to stay around */ break; + } } } } |