Greg Ames wrote:
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'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()?

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.
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.

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

Reply via email to