You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by br...@apache.org on 2006/01/22 04:35:48 UTC

svn commit: r371175 - /httpd/httpd/branches/async-read-dev/server/core_filters.c

Author: brianp
Date: Sat Jan 21 19:35:46 2006
New Revision: 371175

URL: http://svn.apache.org/viewcvs?rev=371175&view=rev
Log:
Buffer partial lines within ap_core_input_filter() when doing
AP_MODE_GETLINE reads on a nonblocking connection

Modified:
    httpd/httpd/branches/async-read-dev/server/core_filters.c

Modified: httpd/httpd/branches/async-read-dev/server/core_filters.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/async-read-dev/server/core_filters.c?rev=371175&r1=371174&r2=371175&view=diff
==============================================================================
--- httpd/httpd/branches/async-read-dev/server/core_filters.c (original)
+++ httpd/httpd/branches/async-read-dev/server/core_filters.c Sat Jan 21 19:35:46 2006
@@ -153,12 +153,8 @@
     if (mode == AP_MODE_GETLINE) {
         /* we are reading a single LF line, e.g. the HTTP headers */
         rv = apr_brigade_split_line(b, ctx->b, block, HUGE_STRING_LEN);
-        /* We should treat EAGAIN here the same as we do for EOF (brigade is
-         * empty).  We do this by returning whatever we have read.  This may
-         * or may not be bogus, but is consistent (for now) with EOF logic.
-         */
         if (APR_STATUS_IS_EAGAIN(rv)) {
-            rv = APR_SUCCESS;
+            APR_BRIGADE_PREPEND(ctx->b, b);
         }
         return rv;
     }