mirror of
https://github.com/apache/httpd.git
synced 2025-08-05 16:55:50 +03:00
core: axe data_in_in/output_filter from conn_rec.
They were superseded by ap_filter_should_yield() and ap_run_in/output_pending() in r1706669 and had poor semantics since then (we can't maintain pending semantics both by filter and for the whole connection). Register ap_filter_input_pending() as the default input_pending hook (which seems to have been forgotten in the first place). On the MPM event side, we don't need to flush pending output data when the connection has just been processed, ap_filter_should_yield() is lightweight and enough to determine whether we should really enter write completion state or go straight to reading. ap_run_output_pending() is used only when write completion is in place and needs to be completed before more processing. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836364 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -350,7 +350,6 @@ AP_DECLARE(void) ap_process_request_after_handler(request_rec *r)
|
||||
apr_bucket_brigade *bb;
|
||||
apr_bucket *b;
|
||||
conn_rec *c = r->connection;
|
||||
apr_status_t rv;
|
||||
ap_filter_t *f;
|
||||
|
||||
/* Send an EOR bucket through the output filter chain. When
|
||||
@@ -399,8 +398,7 @@ AP_DECLARE(void) ap_process_request_after_handler(request_rec *r)
|
||||
* without flushing data, and hence possibly delay pending response(s)
|
||||
* until the next/real request comes in or the keepalive timeout expires.
|
||||
*/
|
||||
rv = ap_check_pipeline(c, bb, DEFAULT_LIMIT_BLANK_LINES);
|
||||
c->data_in_input_filters = (rv == APR_SUCCESS);
|
||||
(void)ap_check_pipeline(c, bb, DEFAULT_LIMIT_BLANK_LINES);
|
||||
apr_brigade_cleanup(bb);
|
||||
|
||||
if (c->cs) {
|
||||
@@ -413,7 +411,6 @@ AP_DECLARE(void) ap_process_request_after_handler(request_rec *r)
|
||||
* to not try another useless/stressful one but to go straight to
|
||||
* POLLOUT.
|
||||
*/
|
||||
c->data_in_output_filters = ap_filter_should_yield(c->output_filters);
|
||||
c->cs->state = CONN_STATE_WRITE_COMPLETION;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user