diff options
author | Brian Pane <brianp@apache.org> | 2006-01-22 03:35:46 +0000 |
---|---|---|
committer | Brian Pane <brianp@apache.org> | 2006-01-22 03:35:46 +0000 |
commit | 97993a7eb8a11e00d5c2996417b09e9a65f65167 (patch) | |
tree | e539cf1ce5e8ad0fb0d4ea83b62ebeb52621ebea | |
parent | 8240f8566e6f572cdc3a0ee0e123767816d37c41 (diff) | |
download | httpd-97993a7eb8a11e00d5c2996417b09e9a65f65167.tar.gz |
Buffer partial lines within ap_core_input_filter() when doing
AP_MODE_GETLINE reads on a nonblocking connection
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-read-dev@371175 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | server/core_filters.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/server/core_filters.c b/server/core_filters.c index 0c06b90c41..2e18d6f082 100644 --- a/server/core_filters.c +++ b/server/core_filters.c @@ -153,12 +153,8 @@ int ap_core_input_filter(ap_filter_t *f, apr_bucket_brigade *b, 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; } |