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.
the code in service.c which shuts down the server for other reasons?
AFAICT, not all code in child main that leads to termination will call ap_signal_parent(), and not all calls to ap_signal_parent() come through child_main
but... where will module code be called (pool cleanups, other child maintenance routines)? the desire here is for any such code to see AP_MPMQ_STOPPING... based on this, maybe it can be set in fewer places or some common place
(btw, thanks for having a look at this!)