httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Trawick <traw...@attglobal.net>
Subject Re: how many EOS buckets should a filter expect? (subrequest, PR 9644)
Date Mon, 10 Jun 2002 18:40:53 GMT
"Ryan Bloom" <rbb@covalent.net> writes:

> > From: trawick@rdu88-251-253.nc.rr.com [mailto:trawick@rdu88-251-
> > 
> > Initially I would think that a filter should see at most one EOS.
> > mod_ext_filter doesn't have logic to ignore subsequent ones, resulting
> > in a superfluous error message from a failed syscall when it tries to
> > re-do some cleanup when it hits a second EOS.
> > 
> > In this case, the subrequest is handled by default_handler which
> > passes down a FILE bucket and an EOS bucket.  After that has
> > completed, ap_finalize_sub_req_protocol() passes down another EOS
> > bucket.  Why does ap_finalize_sub_req_protocol() pass down an EOS?
> > Isn't the handler responsible for that?  Is this to clean up in case
> > the handler encountered an error and failed to pass down an EOS?
> 
> Output filters can only support and expect a single EOS bucket.  Input
> filters, however, seem to be moving to a multi-EOS model.

okay so far

> Ap_finalize_sub_req_protocol sends down an EOS bucket just like
> ap_finalize_request does.  That means that it is only sent if the
> handler didn't send it.

I suspect you're talking about this line of code which doesn't exist
in CVS:

Index: server/protocol.c
===================================================================
RCS file: /home/cvs/httpd-2.0/server/protocol.c,v
retrieving revision 1.105
diff -u -r1.105 protocol.c
--- server/protocol.c	7 Jun 2002 22:31:34 -0000	1.105
+++ server/protocol.c	10 Jun 2002 18:33:54 -0000
@@ -1033,7 +1033,10 @@
 
 void ap_finalize_sub_req_protocol(request_rec *sub)
 {
-    end_output_stream(sub);
+    /* tell the filter chain there is no more content coming */
+    if (!sub->eos_sent) {
+        end_output_stream(sub);
+    }
 }
 
 /* finalize_request_protocol is called at completion of sending the

Is that what you expected was there?  (the PR 9644 scenario is fine
with this patch; I'm poking around now to see if we used to have this
check and removed it for some reason)

-- 
Jeff Trawick | trawick@attglobal.net
Born in Roswell... married an alien...

Mime
View raw message