> Jeff Trawick wrote: > > > > Here's a backtrace while processing /dist/httpd/. Where is the > > > subrequest filter? > > > > maybe this helps... haven't tested yet > > > > Index: request.c > > yep, this solves about half of the problem. With this on, I now see all > the > data, it's just in the wrong order. I see the contents of HEADER.html, > followed > by the contents of README.html, followed by the dirent stuff that > handle_autoindex generates dynamically. The dynamic stuff should be in > the > middle. > > So it looks like we have to do something about flushing the data that > old_write > is hanging on to. I'd rather see the core figure out how to do this, > rather > than mod_autoindex. Otherwise we are going to impact 1.3 modules that use > ap_r* > more than we need to.
The core can't do anything about it. If you are creating a sub-request, you must flush the data. We could have the core always flush, but that would cause us to send flush buckets before any data has been generated, or in cases where a flush is not required. The module MUST be the thing that does the flush. As for the patch that did solve the first part of the problem, this is likely to cause problems if the sub-request is promoted to the main request, as is the case with DirectoryIndex. We need to add logic to handle that case. Ryan
