Greg Ames wrote:
I've looked at the existing generator modules and it seems that they send the eos bucket only if they send a pipe/file down the stream. the default handler behaves similarly. ap_finalize_request_protocol covers all the other cases, by checking r->sent_eos. My question is why not always add the eos in ap_finalize_request_protocol()?Stas Bekman wrote:Is it possible that the RESOURCE filters don't get the EOS bucket?
anything is possible in software ;-) but that would be pretty broken IMO. I don't recall seeing cases recently where we don't send EOS down the complete output filter chain.
I did look at mod_include, it just was hard to quickly find the eos/ctx flush logic. I think i'm getting the grip of it.I'm working on filter examples which use context to maintain status/keep remainder data between filter invocations for the same request. For some reason I don't get the EOS bucket, so I don't know how to flush the data stored in the filter context. I do see EOS in CONNECTION filters. I've tried to look at the existing modules for an example, but I didn't find any RESOURCE filters that use the context.
mod_includes's filter has tons of variables in its ctx and uses them frequently. I sometimes wonder if this contributes to the number of bugs we've seen in it. It certainly should be a RESOURCE filter.
The OLD_WRITE filter also stashes stuff in its ctx IIRC, and should be a RESOURCE filter.
Thanks Greg.
__________________________________________________________________
Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com
