Brian Pane wrote: > > On Sep 4, 2005, at 1:42 PM, Paul Querna wrote: > >> So, here is a hackish patch to allow easier building of custom core >> output filters, for places like the Event MPM. >> >> It uses the APR optional functions to optionally register a function to >> replace the C-O-F. > > > Thanks, that's a bit cleaner than the hack that I put in to the > event_hooks() callback function. > > To complicate the issue a bit, I'm wondering if we should replace > ap_core_output_filter() with a nonblocking version for _all_ MPMs > in 2.3/2.4. The filter could query the MPM properties to decide how > to handle flush and EOC buckets: > - For MPMs with async write completion support, it would setaside > the data and change the connection state to > CONN_STATE_WRITE_COMPLETION > - For MPMs without async write completion, the filter would > do a blocking write of all the data. > > A case where something like this might be useful (aside from the > event MPM) is prefork. If people are running prefork because they > need to use non-threadsafe modules, but they're running on > platforms with thread support, adding an optional write completion > thread could yield better scalability.
I am thinking we should create a svn branch to flesh out some of these ideas? How does 'branches/async-dev' sound to you? -Paul
