Loading CHANGES +5 −0 Original line number Diff line number Diff line Changes with Apache 2.0.27-dev *) Fix the reporting for child processes that die. This removes all of the non-portable W* macros from Apache. [Jeff Trawick and Ryan Bloom] *) Win32: Track and display "Parent Server Generation:" in mod_status output. The generation will be bumped at server graceful restart, when the child process exits Loading include/mpm_common.h +3 −2 Original line number Diff line number Diff line Loading @@ -125,7 +125,8 @@ void ap_reclaim_child_processes(int terminate); * @param p The pool to allocate out of */ #ifdef AP_MPM_WANT_WAIT_OR_TIMEOUT void ap_wait_or_timeout(apr_wait_t *status, apr_proc_t *ret, apr_pool_t *p); void ap_wait_or_timeout(apr_exit_why_e *status, int *exitcode, apr_proc_t *ret, apr_pool_t *p); #endif /** Loading @@ -135,7 +136,7 @@ void ap_wait_or_timeout(apr_wait_t *status, apr_proc_t *ret, apr_pool_t *p); * @param status The status returned from ap_wait_or_timeout */ #ifdef AP_MPM_WANT_PROCESS_CHILD_STATUS void ap_process_child_status(apr_proc_t *pid, apr_wait_t status); void ap_process_child_status(apr_proc_t *pid, apr_exit_why_e why, int status); #endif #if defined(TCP_NODELAY) && !defined(MPE) && !defined(TPF) Loading server/mpm/beos/beos.c +4 −3 Original line number Diff line number Diff line Loading @@ -597,16 +597,17 @@ static void perform_idle_server_maintenance(void) static void server_main_loop(int remaining_threads_to_start) { int child_slot; apr_wait_t status; apr_exit_why_e exitwhy; int status; apr_proc_t pid; int i; while (!restart_pending && !shutdown_pending) { ap_wait_or_timeout(&status, &pid, pconf); ap_wait_or_timeout(&exitwhy, &status, &pid, pconf); if (pid.pid >= 0) { ap_process_child_status(&pid, status); ap_process_child_status(&pid, exitwhy, status); /* non-fatal death... note that it's gone in the scoreboard. */ child_slot = -1; for (i = 0; i < ap_max_child_assigned; ++i) { Loading server/mpm/experimental/perchild/perchild.c +4 −3 Original line number Diff line number Diff line Loading @@ -1091,15 +1091,16 @@ static void perform_child_maintenance(void) static void server_main_loop(int remaining_children_to_start) { int child_slot; apr_wait_t status; apr_exit_why exitwhy; int status; apr_proc_t pid; int i; while (!restart_pending && !shutdown_pending) { ap_wait_or_timeout(&status, &pid, pconf); ap_wait_or_timeout(&exitwhy, &status, &pid, pconf); if (pid.pid != -1) { ap_process_child_status(&pid, status); ap_process_child_status(&pid, exitwhy, status); /* non-fatal death... note that it's gone in the child table and * clean out the status table. */ child_slot = -1; Loading server/mpm/perchild/perchild.c +4 −3 Original line number Diff line number Diff line Loading @@ -1091,15 +1091,16 @@ static void perform_child_maintenance(void) static void server_main_loop(int remaining_children_to_start) { int child_slot; apr_wait_t status; apr_exit_why exitwhy; int status; apr_proc_t pid; int i; while (!restart_pending && !shutdown_pending) { ap_wait_or_timeout(&status, &pid, pconf); ap_wait_or_timeout(&exitwhy, &status, &pid, pconf); if (pid.pid != -1) { ap_process_child_status(&pid, status); ap_process_child_status(&pid, exitwhy, status); /* non-fatal death... note that it's gone in the child table and * clean out the status table. */ child_slot = -1; Loading Loading
CHANGES +5 −0 Original line number Diff line number Diff line Changes with Apache 2.0.27-dev *) Fix the reporting for child processes that die. This removes all of the non-portable W* macros from Apache. [Jeff Trawick and Ryan Bloom] *) Win32: Track and display "Parent Server Generation:" in mod_status output. The generation will be bumped at server graceful restart, when the child process exits Loading
include/mpm_common.h +3 −2 Original line number Diff line number Diff line Loading @@ -125,7 +125,8 @@ void ap_reclaim_child_processes(int terminate); * @param p The pool to allocate out of */ #ifdef AP_MPM_WANT_WAIT_OR_TIMEOUT void ap_wait_or_timeout(apr_wait_t *status, apr_proc_t *ret, apr_pool_t *p); void ap_wait_or_timeout(apr_exit_why_e *status, int *exitcode, apr_proc_t *ret, apr_pool_t *p); #endif /** Loading @@ -135,7 +136,7 @@ void ap_wait_or_timeout(apr_wait_t *status, apr_proc_t *ret, apr_pool_t *p); * @param status The status returned from ap_wait_or_timeout */ #ifdef AP_MPM_WANT_PROCESS_CHILD_STATUS void ap_process_child_status(apr_proc_t *pid, apr_wait_t status); void ap_process_child_status(apr_proc_t *pid, apr_exit_why_e why, int status); #endif #if defined(TCP_NODELAY) && !defined(MPE) && !defined(TPF) Loading
server/mpm/beos/beos.c +4 −3 Original line number Diff line number Diff line Loading @@ -597,16 +597,17 @@ static void perform_idle_server_maintenance(void) static void server_main_loop(int remaining_threads_to_start) { int child_slot; apr_wait_t status; apr_exit_why_e exitwhy; int status; apr_proc_t pid; int i; while (!restart_pending && !shutdown_pending) { ap_wait_or_timeout(&status, &pid, pconf); ap_wait_or_timeout(&exitwhy, &status, &pid, pconf); if (pid.pid >= 0) { ap_process_child_status(&pid, status); ap_process_child_status(&pid, exitwhy, status); /* non-fatal death... note that it's gone in the scoreboard. */ child_slot = -1; for (i = 0; i < ap_max_child_assigned; ++i) { Loading
server/mpm/experimental/perchild/perchild.c +4 −3 Original line number Diff line number Diff line Loading @@ -1091,15 +1091,16 @@ static void perform_child_maintenance(void) static void server_main_loop(int remaining_children_to_start) { int child_slot; apr_wait_t status; apr_exit_why exitwhy; int status; apr_proc_t pid; int i; while (!restart_pending && !shutdown_pending) { ap_wait_or_timeout(&status, &pid, pconf); ap_wait_or_timeout(&exitwhy, &status, &pid, pconf); if (pid.pid != -1) { ap_process_child_status(&pid, status); ap_process_child_status(&pid, exitwhy, status); /* non-fatal death... note that it's gone in the child table and * clean out the status table. */ child_slot = -1; Loading
server/mpm/perchild/perchild.c +4 −3 Original line number Diff line number Diff line Loading @@ -1091,15 +1091,16 @@ static void perform_child_maintenance(void) static void server_main_loop(int remaining_children_to_start) { int child_slot; apr_wait_t status; apr_exit_why exitwhy; int status; apr_proc_t pid; int i; while (!restart_pending && !shutdown_pending) { ap_wait_or_timeout(&status, &pid, pconf); ap_wait_or_timeout(&exitwhy, &status, &pid, pconf); if (pid.pid != -1) { ap_process_child_status(&pid, status); ap_process_child_status(&pid, exitwhy, status); /* non-fatal death... note that it's gone in the child table and * clean out the status table. */ child_slot = -1; Loading