httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jim Jagielski <...@jaguNET.com>
Subject Re: fixing graceful-stop with event mpm
Date Tue, 21 Aug 2007 12:34:03 GMT

On Aug 20, 2007, at 7:00 PM, Paul Querna wrote:

> Short: We need to call ap_close_listeners() earlier or more  
> aggressively.
>
> Question: Where/How?
>
> Looking at the Event MPM in both trunk and 2.2.x, the  
> listener_thread is
> where we call ap_close_listeners().  This does not seem to be working
> quickly enough, per PR 43081:
> http://issues.apache.org/bugzilla/show_bug.cgi?id=43081
>
> I haven't quite got my head around how the listener thread is  
> apparently
> blocking for so long, but I can't figure out another way that the
> listeners would stay online for so long either.
>
> Solution: Add call to ap_close_listeners() in wakeup_listener().  I
> think this would pop out all of the listening sockets quickly from the
> listener pollset.
>

I've been wondering for awhile whether having the listener thread
in event handle both initial connections as well as keepalives
really makes sense, and whether breaking them out as 2 distinct
threads might be better... One reason is that this would
make it easier to create parity between worker and event
on "simple" cases... This wouldn't completely solve the
problem but it would isolate it to "just" the keepalive
thread, making it easier I think to solve... But other than
some very rough ideas on how to do it, I haven't really
looked further.


Mime
View raw message