Do you know of any cases that actually require mpm_state to be updated in ap_signal_parent()? Setting winnt_mpm_state to AP_MPMQ_STOPPING in child main should be sufficient unless I am missing something.

Bill

[EMAIL PROTECTED] wrote:

trawick 2003/12/16 18:16:44

Modified: server/mpm/winnt child.c mpm_winnt.c mpm_winnt.h
Log:
add support for querying MPM state to ap_mpm_query() for the WinNT MPM
Revision Changes Path
1.21 +3 -1 httpd-2.0/server/mpm/winnt/child.c
...

Index: mpm_winnt.c
===================================================================
RCS file: /home/cvs/httpd-2.0/server/mpm/winnt/mpm_winnt.c,v
retrieving revision 1.302
retrieving revision 1.303
diff -u -r1.302 -r1.303
--- mpm_winnt.c 15 Dec 2003 23:19:14 -0000 1.302
+++ mpm_winnt.c 17 Dec 2003 02:16:44 -0000 1.303
@@ -107,6 +107,7 @@
static int thread_limit = DEFAULT_THREAD_LIMIT;
static int first_thread_limit = 0;
static int changed_limit_at_restart;
+int winnt_mpm_state = AP_MPMQ_STARTING;
/* ap_my_generation are used by the scoreboard code */
ap_generation_t volatile ap_my_generation=0;
@@ -312,6 +313,7 @@
switch(type) {
case SIGNAL_PARENT_SHUTDOWN: {
+ winnt_mpm_state = AP_MPMQ_STOPPING;
Not needed.

SetEvent(shutdown_event); break;
}
@@ -319,6 +321,7 @@
case SIGNAL_PARENT_RESTART: case SIGNAL_PARENT_RESTART_GRACEFUL:
{
+ winnt_mpm_state = AP_MPMQ_STOPPING;
Ditto

is_graceful = 1;
SetEvent(restart_event); break;
@@ -330,6 +333,7 @@
switch(type) {
case SIGNAL_PARENT_SHUTDOWN: {
+ winnt_mpm_state = AP_MPMQ_STOPPING;
Ditto

signal_name = signal_shutdown_name; break;
}
@@ -337,6 +341,7 @@
case SIGNAL_PARENT_RESTART: case SIGNAL_PARENT_RESTART_GRACEFUL:
{
+ winnt_mpm_state = AP_MPMQ_STOPPING;
Ditto

signal_name = signal_restart_name; is_graceful = 1;
break;
@@ -1097,6 +1102,9 @@
return APR_SUCCESS;
case AP_MPMQ_MAX_DAEMONS:
*result = 0;
+ return APR_SUCCESS;
+ case AP_MPMQ_MPM_STATE:
+ *result = winnt_mpm_state;
return APR_SUCCESS;
}
return APR_ENOTIMPL;


Reply via email to