httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Querna <c...@force-elite.com>
Subject Re: Event MPM accept() handling
Date Wed, 01 Mar 2006 15:56:16 GMT
Saju Pillai wrote:
> 
> 
> On 01/03/06, *Paul Querna* <chip@force-elite.com 
> <mailto:chip@force-elite.com>> wrote:
> 
>     Greg Ames wrote:
>      > Saju Pillai wrote:
>      >
>      >> I can understand why serializing apr_pollset_poll() & accept()
>     for the
>      >> listener threads doesn't make sense in the event-mpm.   A quick look
>      >> through the code leaves me confused about the following ...
>      >  >
>      >>  It looks like all the listener threads epoll() simultaenously
>     on the
>      >> listener sockets + their private set of sockets added to the
>     pollset
>      >> by workers.
>      >
>      > looks like you are correct.
>      >
>      > originally there was a separate event thread for everything but new
>      > connections and the listener thread's accept serialization was
>     the same
>      > as worker's.  then it seemed like a good idea to merge the
>     listener and
>      > event threads, and it only supported a single worker process briefly.
>      > since there was only one merged listener/event thread in the whole
>      > server there was nothing to serialize at that time.  then a few of us
>      > grumbled about what happens if some 3rd party module seg faults
>     or leaks
>      > memory and we went back to multiple worker processes. 
> 
> 
> 
> Can you tell us what was the reasoning behind merging the event thread 
> and the listener thread ? A seperate event thread implies that the 
> listener threads could serialize for accept() for platforms that need 
> serialized accept(). The event thread never needs to accept() - it only 
> needs to check for read/write/close events.  ( or the platforms that 
> event mpm runs on - don't need serializing of accept ?)

Because the Event MPM requires a moderm OS with a newer-epoll/kqueue 
type thing, none of our supported operating systems require the use of 
an accept lock :)

-Paul


Mime
View raw message