On Thu, Oct 26, 2006 at 11:02:40AM +0200, Graham Leggett wrote: > On Thu, October 26, 2006 10:50 am, Joe Orton wrote: > > > I'm not sure how that is relevant. The core output filter writes to the > > socket directly - it can use non-blocking writes or whatever it likes to > > do that. The cache must write to the output filter chain. How do you > > propose to do non-blocking writes up the output filter chain? > > The cache by design sits as close to the output filter as humanly > possible. This means that cache can pass file buckets to the output > filter, and it does. If ap_core_output_filter() is asked to write a file > bucket to the network, and this would block, it instead sets aside the > file bucket in a temporary brigade for sending later, and returns > immediately.
This is a non-starter. The cache cannot rely on any particular implementation detail of the trunk core output filter (which sounds like a bug), nor can it assume that filters between it and the core output filter will pass through FILE buckets intact - think about e.g. SSL. joe