diff options
author | Yann Ylavic <ylavic@apache.org> | 2018-09-07 00:48:28 +0200 |
---|---|---|
committer | Yann Ylavic <ylavic@apache.org> | 2018-09-07 00:48:28 +0200 |
commit | 5ab81a73c1c320eb81fd4ab81f8cd41b19222b52 (patch) | |
tree | 4f0a6728fb33300aaf6e64a82898180af3f63b7a /modules | |
parent | fix StrictHostCheck in single/non-NVH vhosts (diff) | |
download | apache2-5ab81a73c1c320eb81fd4ab81f8cd41b19222b52.tar.xz apache2-5ab81a73c1c320eb81fd4ab81f8cd41b19222b52.zip |
Follow up to r1840149: core input filter pending data.
Since r1840149 ap_core_input_filter() can't use use f->[priv->]bb directly, so
ap_filter_input_pending() stopped accounting for its pending data.
But ap_core_input_filter() can't (and doesn't need to) setaside its socket
bucket, so ap_filter_setaside_brigade() is not an option. This commit adds
ap_filter_adopt_brigade() which simply moves the given buckets (brigade) into
f->priv->bb, and since this is not something to be done blindly (the buckets
need to have c->pool/bucket_alloc lifetime, which is the case in the core
filter) the function is not AP_DECLAREd/exported thus can be used in core only.
With ap_filter_adopt_brigade() and ap_filter_reinstate_brigade(), the core
input is now ap_filter_input_pending() friendly.
Also, ap_filter_recycle() is no more part of the API (AP_DECLARE removed too),
there really is no point to call it outside core code. MAJOR bumped once again
because of this.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1840265 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules')
-rw-r--r-- | modules/http/http_request.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/modules/http/http_request.c b/modules/http/http_request.c index 039dd25a26..78171a849e 100644 --- a/modules/http/http_request.c +++ b/modules/http/http_request.c @@ -402,10 +402,7 @@ AP_DECLARE(void) ap_process_request_after_handler(request_rec *r) (void)ap_check_pipeline(c, bb, DEFAULT_LIMIT_BLANK_LINES); ap_release_brigade(c, bb); - - if (!c->aborted) { - ap_filter_recycle(c); - } + ap_filter_recycle(c); if (c->cs) { if (c->aborted) { |