switch(type) {
case SIGNAL_PARENT_SHUTDOWN:
{
- winnt_mpm_state = AP_MPMQ_STOPPING;
SetEvent(shutdown_event);
break;
}
case SIGNAL_PARENT_RESTART:
case SIGNAL_PARENT_RESTART_GRACEFUL:
{
- winnt_mpm_state = AP_MPMQ_STOPPING;
is_graceful = 1;
SetEvent(restart_event);
break;
switch(type) {
case SIGNAL_PARENT_SHUTDOWN:
{
- winnt_mpm_state = AP_MPMQ_STOPPING;
signal_name = signal_shutdown_name;
break;
}
case SIGNAL_PARENT_RESTART:
case SIGNAL_PARENT_RESTART_GRACEFUL:
{
- winnt_mpm_state = AP_MPMQ_STOPPING;
signal_name = signal_restart_name;
is_graceful = 1;
break;
ap_scoreboard_image->parent[0].pid = child_pid;
/* Wait for shutdown or restart events or for child death */
+ winnt_mpm_state = AP_MPMQ_RUNNING;
rv = WaitForMultipleObjects(NUM_WAIT_HANDLES, (HANDLE *) event_handles, FALSE, INFINITE);
cld = rv - WAIT_OBJECT_0;
if (rv == WAIT_FAILED) {
if (shutdown_pending)
{
int timeout = 30000; /* Timeout is milliseconds */
+ winnt_mpm_state = AP_MPMQ_STOPPING;
/* This shutdown is only marginally graceful. We will give the
* child a bit of time to exit gracefully. If the time expires,
}
return 0; /* Tell the caller we do not want to restart */
}
-
+ winnt_mpm_state = AP_MPMQ_STARTING;
return 1; /* Tell the caller we want a restart */
}