mirror of
https://github.com/apache/httpd.git
synced 2025-08-01 16:41:19 +00:00
ap_filter_output_pending(): test where each filter should yield after running.
Since running a filter may pass data next to it, ap_filter_output_pending() should test for ap_filter_should_yield(f->next) after each f call, otherwise it won't take into account new pending data in filters it just walked. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1877785 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@ -1271,11 +1271,12 @@ AP_DECLARE_NONSTD(int) ap_filter_output_pending(conn_rec *c)
|
||||
if (rv != APR_SUCCESS) {
|
||||
ap_log_cerror(APLOG_MARK, APLOG_DEBUG, rv, c, APLOGNO(00470)
|
||||
"write failure in '%s' output filter", f->frec->name);
|
||||
rc = rv;
|
||||
rc = AP_FILTER_ERROR;
|
||||
break;
|
||||
}
|
||||
|
||||
if (fp->bb && !APR_BRIGADE_EMPTY(fp->bb)) {
|
||||
if ((fp->bb && !APR_BRIGADE_EMPTY(fp->bb))
|
||||
|| ap_filter_should_yield(f->next)) {
|
||||
rc = OK;
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user