On Tue, 2009-07-07 at 16:01 +0200, Graham Leggett wrote: > As is httpd prefork :)
Yeah, definitely my favourite MPM :-) As far as I understand this, the deal is that we need to have a complete request before we start processing it. Otherwise, we can get stuck and one of our precious resources is tied up for a long time. Is there anything stopping us from having not just fds in listen in that apr_pollset_poll() of prefork.c, but also a bunch of already accepted fds that are waiting for more data to come in? I'm guessing we'd have to use ap_process_http_async_connection() and have multiple ptrans pools, but that should not be all that hard to do. So, the loop would be: - poll() - try assembling a full request from data read so far - process if successful - go back to poll() if not Too naive? -- Bojan