Hi Joachim,

thanks a lot for your effort. A day after my e-mail I've grep-ed out buckets and brigades from sources...I've managed, that it's pretty much versatile, as i originally thought ( "just a damned buffers"). I like that idea pretty much (actually, in this project (where this module is just a small part in), we already have a java library that behaves pretty much the same way like apache's brigades) now, but the bad thing is that it's unusable for us to use brigades, since send-file usage in apache is done how it's done.

Anyway, now I just run close(socket) and shutdown(socket), and that's it. However Apache is complaining about bat file-descriptors, but...as far as it works ;)

Thank you one more time,
Stefan

Joachim Zobel wrote:
Am Dienstag, den 27.02.2007, 19:17 +0100 schrieb bronto:
I have a module written by me, which (less or more) serves content. Everything went well until we ran some JMeter tests, which has discovered that keep-alive requests, to our module, are returning zero-sized OK pages (I mean code 200, with content-length:0). Ethereal discovered that it actually served the content, _but_ after that apache sends out another headers. Which is certainly ok, because it thinks that there was no content sent.

You have probably just discovered chunked coding, which is a rather
annoying discovery. My conjecture is, that either you send a content
length header (this is wrong with chunked coding IIRC) or the authors of
JMeter have yet to discover chunked encoding. The second would mean your
module is behaving correctly.

What I need, is a way how can I tell apache, to stop processing the particular request. But my guess is, that it actually sends headers right after it knows the length of content and stuff.

Yes. That is more or less how chunked coding works. See
http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.6.1

Hth,
Joachim




Reply via email to