On Thu, 17 May 2001 [EMAIL PROTECTED] wrote:
> > Mod_isapi's WriteClient callback builds a brigade and dumps the data
> > and an EOS to the request filter on each write. This proved acceptable so
> > long as only one write occurs (see mod_cgi). However, the ISAPI interface
> > is designed to allow multiple writes. In the cases of multiple writes,
> > odd things happened: The content-length header only reflected the size of
> > the initial write, and if the browser (IE5.0) sent an "Accept: */*" header
> > (as it does for a refresh request), only a fraction of the datastream
> > would be sent. It was not possible to use keep-alive on the socket.
> Just don't append the EOS bucket. That EOS is what is confusing the
> content-length filter, and it is what is causing only part of the data to
> be sent. EOS buckets signify to the filter stack that no more data will
> ever be sent on this connection. If there is even the chance that there
> will be more data, don't send an EOS bucket. If you don't ever send the
> EOS bucket, then Apache will just take care of it for you.
Exactly what I was about to say. And as an aside, you might what to see
also the FLUSH bucket type, which is similar to EOS except that more
content is allowed to follow it, if in fact flushing the output stream is
really what you're trying to do. Otherwise, just do as Ryan suggests
and ship a brigade (just data, no EOS) down the stack, and everything
should just work.
--Cliff
--------------------------------------------------------------
Cliff Woolley
[EMAIL PROTECTED]
Charlottesville, VA