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

Reply via email to