On Tue, 2002-10-15 at 10:31, Bill Stoddard wrote: > Something I've been hacking on (in the pejorative sense of the word 'hack'. > Look at the patch and you will see what I mean :-). This should apply and > serve pages on Linux, though the event_loop is clearly broken as it does not > timeout keep-alive connections and will hang on the apr_poll() (and hang the > server) if a client leaves a keep-alive connection active but does not send > anything on it. Scoreboard is broken, code structure is poor, yadda yadda. I > plan to reimplement some of this more cleanly but no idea when I'll get > around to it. Key points: > > 1. routines to read requests must be able to handl getting APR_EAGAIN (or > APR_EWOULDBLOCK): > 2. ap_process_http_connection reimplemented to be state driven > 3. event loop in worker_mpm to wait for pending i/o
Revisiting this topic from a looong time ago... Did you ever get a chance to do any further work on this design? IMHO, for 2.1/2.2 we should at least incorporate the changes to allow data to be pushed rather than pulled through the input filter chain. That will set the foundation for an event-driven MPM, even if we're still using a blocking, thread-per-connection worker design in the first 2.2 release. Brian