httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Stoddard" <b...@wstoddard.com>
Subject Re: plz vote on tagging current CVS as APACHE_2_0_19
Date Wed, 27 Jun 2001 12:49:29 GMT

> On Tue, 26 Jun 2001 21:26:03 -0400
>  "Bill Stoddard" <bill@wstoddard.com> wrote:
> > > Why would any of these processes still be serving new requests?
> >
> > A timing window.  When a mod_status request is the last request
> > accepted before a process dies.
>
> I thought the children were woken up during the restart by the POD, and
> they exited immediately, without serving new requests.
>
Consider a mod_status request being accepted by a thread in a multithreaded process then
getting swapped out for an indeterminate period of time. During this period of time, all
the other threads in the process exit; the parent process allocates new scoreboard
storage, starts new processes, etc. Then your mod_status thread runs and walks the
scoreboard.  One of two things will happen...either the mod_status thread will trip over
the newly allocated storage (if the new storage is simply added to the existing
scoreboard) or it will miss reporting status on the new threads.

Missing status of the new threads immediately after a restart where the thread/process
limits were increased is not a big deal to me. But no matter what, you need to keep the
old processes from attempting to access the new storage.

Bill


Mime
View raw message