[EMAIL PROTECTED] writes:

> On 20 Mar 2002 [EMAIL PROTECTED] wrote:
> 
> > wrowe       02/03/19 20:29:55
> > 
> >   Modified:    server/mpm/winnt mpm_winnt.c
> >   Log:
> >     When restarting [always graceful on Win32], we don't repeat pre_mpm
> >     (Unix doesn't, we shouldn't either.)  [Ryan Bloom]
> >    
> >   -    if ((parent_pid == my_pid) || one_process) {
> >   +    /* ### If non-graceful restarts are ever introduced - we need to rerun 
> >   +     * the pre_mpm hook on subsequent non-graceful restarts.  But Win32 
> >   +     * has only graceful style restarts - and we need this hook to act 
> >   +     * the same on Win32 as on Unix.
> >   +     */
> >   +    if (!restart && ((parent_pid == my_pid) || one_process)) {
> >            /* Set up the scoreboard. */
> >            if (ap_run_pre_mpm(pconf, SB_SHARED) != OK) {
> >                return 1;
> 
> While I agree with this patch, you also need to kill the cleanup on the
> scoreboard, so that it isn't set to NULL when pconf is cleared.

Actually, the cleanup never runs because it never finds the data in
the pconf pool :)  But yes it needs to be dealt with.

I was cleaning this issue up this morning (removing cleanups, removing
logic I added recently to restore the proper running_generation field)
and realized (or was confused into thinking) that we aren't handling
non-graceful restart anymore, in that we don't start back with a fresh
scoreboard (fresh except for the running_generation field).  Now,
whatever was in the scoreboard from the previous, whacked generation
of children is still there.

For now I've set aside the cleanup changes until there is some
resolution on how it should be handled (should MPM have to clean up,
should scoreboard-create clean up when it realizes that it doesn't
have to reallocate, etc.).

-- 
Jeff Trawick | [EMAIL PROTECTED]
Born in Roswell... married an alien...

Reply via email to