On 01/05/2008 11:56 AM, Nick Kew wrote:
> On Sat, 05 Jan 2008 11:47:40 +0100
> Ruediger Pluem <[EMAIL PROTECTED]> wrote:
>
>> Can you please try if the following patch against the vanilla tar ball
>> fixes the problem?
>
> Nope. Causes both test cases to give just one byte of response.
Sorry my first patch was bogus of course :-(. Please try the following:
Index: modules/http/http_filters.c
===================================================================
--- modules/http/http_filters.c (Revision 609114)
+++ modules/http/http_filters.c (Arbeitskopie)
@@ -319,11 +319,12 @@
if (ctx->state == BODY_CHUNK) {
rv = ap_get_brigade(f->next, bb, AP_MODE_GETLINE,
block, 0);
- apr_brigade_cleanup(bb);
if (block == APR_NONBLOCK_READ &&
- (APR_STATUS_IS_EAGAIN(rv))) {
+ ( (rv == APR_SUCCESS && APR_BRIGADE_EMPTY(bb)) ||
+ (APR_STATUS_IS_EAGAIN(rv)) )) {
return APR_EAGAIN;
}
+ apr_brigade_cleanup(bb);
} else {
rv = APR_SUCCESS;
}
Regards
RĂ¼diger