diff --git a/docs/manual/developer/new_api_2_4.xml b/docs/manual/developer/new_api_2_4.xml
index dfcba97cbe..552bed19da 100644
--- a/docs/manual/developer/new_api_2_4.xml
+++ b/docs/manual/developer/new_api_2_4.xml
@@ -222,7 +222,7 @@
REMOVES: accept, lockfile, lock_mech, set_scoreboard (locking uses the new ap_mutex API)
NEW API to drop privileges (delegates this platform-dependent
function to modules)
- NEW Hooks: mpm_query, mpm_note_child_killed, timed_callback, get_name, and function ap_mpm_note_child_killed
+ NEW Hooks: mpm_query, mpm_note_child_killed, timed_callback, and get_name
diff --git a/include/mpm_common.h b/include/mpm_common.h
index f08510aa46..3f66f793ea 100644
--- a/include/mpm_common.h
+++ b/include/mpm_common.h
@@ -321,8 +321,6 @@ extern const char *ap_mpm_set_exception_hook(cmd_parms *cmd, void *dummy,
const char *arg);
#endif
-AP_DECLARE(apr_status_t) ap_mpm_note_child_killed(int childnum);
-
AP_DECLARE_HOOK(int,monitor,(apr_pool_t *p, server_rec *s))
/* register modules that undertake to manage system security */
@@ -335,7 +333,11 @@ AP_DECLARE_HOOK(int, drop_privileges, (apr_pool_t * pchild, server_rec * s))
*/
AP_DECLARE_HOOK(int, mpm_query, (int query_code, int *result, apr_status_t *rv))
-/* child specified by index has been killed */
+/* child specified by index has been killed; MPMs which use
+ * ap_reclaim_child_processes() or ap_relieve_child_processes() must
+ * implement this in order to update the scoreboard and handle any
+ * MPM-specific actions
+ */
AP_DECLARE_HOOK(apr_status_t, mpm_note_child_killed, (int childnum))
/* register the specified callback */
diff --git a/server/mpm_common.c b/server/mpm_common.c
index 232cbf511c..11e5af185f 100644
--- a/server/mpm_common.c
+++ b/server/mpm_common.c
@@ -373,11 +373,6 @@ AP_DECLARE(apr_status_t) ap_mpm_query(int query_code, int *result)
return rv;
}
-AP_DECLARE(apr_status_t) ap_mpm_note_child_killed(int childnum)
-{
- return ap_run_mpm_note_child_killed(childnum);
-}
-
AP_DECLARE(apr_status_t) ap_mpm_register_timed_callback(apr_time_t t, ap_mpm_callback_fn_t *cbfn, void *baton)
{
return ap_run_mpm_register_timed_callback(t, cbfn, baton);
diff --git a/server/mpm_unix.c b/server/mpm_unix.c
index c0620191cb..b898123424 100644
--- a/server/mpm_unix.c
+++ b/server/mpm_unix.c
@@ -228,7 +228,7 @@ void ap_reclaim_child_processes(int terminate)
}
if (reclaim_one_pid(pid, action_table[cur_action].action)) {
- ap_mpm_note_child_killed(i);
+ ap_run_mpm_note_child_killed(i);
}
else {
++not_dead_yet;
@@ -273,7 +273,7 @@ void ap_relieve_child_processes(void)
}
if (reclaim_one_pid(pid, DO_NOTHING)) {
- ap_mpm_note_child_killed(i);
+ ap_run_mpm_note_child_killed(i);
}
}