find_child_by_pid() failed to do its job, because ap_max_daemons_used was
too low. There was some recent breakage in threaded that contributes to
the problem.
However, find_child_by_pid() should not be using the current number of
daemons. It could have been recently reduced, which makes it fail to
find the exiting process.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90015
13f79535-47bb-0310-9956-
ffa450edef68
}
++free_length;
}
+ if (!all_dead_threads) {
+ last_non_dead = i;
+ }
/* XXX if (!ps->quiescing) is probably more reliable GLA */
if (!any_dying_threads) {
- last_non_dead = i;
++total_non_dead;
}
}
int i;
int max_daemons_limit;
- ap_mpm_query(AP_MPMQ_MAX_DAEMON_USED, &max_daemons_limit);
+ ap_mpm_query(AP_MPMQ_MAX_DAEMONS, &max_daemons_limit);
for (i = 0; i < max_daemons_limit; ++i)
if (ap_scoreboard_image->parent[i].pid == pid->pid)