On Tuesday 18 December 2001 12:52 pm, Jeff Trawick wrote: > Jeff Trawick <[EMAIL PROTECTED]> writes: > > > It looks like listen_recs aren't allocated from the right pool with > > worker? (at least I couldn't reproduce this with prefork) > > And the answer is... > > *Most* of the listen_recs are allocated from the right pool. The one > that isn't is the pipe of death listen_rec allocated by worker MPM and > placed into the ap_listeners list. > > Stuff in ap_listeners list needs to be allocated from the process > pool so that it survives a restart. > > The pipe of death listen_rec is allocated in the pconf pool. > > Maybe the pipe of death shouldn't even be in the ap_listeners list. I > think it would be better if worker.c has its own listeners list. The > first thing in it is the pipe of death. We set the next pointer in > that listen_rec to ap_listeners. Thus, we leave the list manipulated > by listen.c alone but we still have our list to use so we serve fairly > all the sockets we're polling on.
The point of the accept abstraction is to allow people to poll on things other than regular sockets. The pipe-of-death is just one such example. An SSL socket is another, as is a UDP socket, or a hundred other examples. We should just move the pipe-of-death to the correct pool. Long-term, for threaded MPMs, I want the pipe-of-death to be completely separate from the listen_recs, but that is next week's job on my list. Ryan ______________________________________________________________ Ryan Bloom [EMAIL PROTECTED] Covalent Technologies [EMAIL PROTECTED] --------------------------------------------------------------