From: Ryan Bloom Date: Tue, 23 Jan 2001 23:23:37 +0000 (+0000) Subject: Allow the core_output_filter to deal with multiple file buckets in the X-Git-Tag: APACHE_2_0_BETA_CANDIDATE_1~123 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5de783433809e7e011d5826e6039514f97a6958b;p=apache Allow the core_output_filter to deal with multiple file buckets in the same brigade. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87801 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/http/http_core.c b/modules/http/http_core.c index 2755949da4..aaa64f9065 100644 --- a/modules/http/http_core.c +++ b/modules/http/http_core.c @@ -3356,6 +3356,16 @@ static apr_status_t core_output_filter(ap_filter_t *f, apr_bucket_brigade *b) else if (APR_BUCKET_IS_FILE(e) && (e->length >= AP_MIN_SENDFILE_BYTES)) { apr_bucket_shared *s = e->data; apr_bucket_file *a = s->data; + + /* We can't handle more than one file bucket at a time + * so we split here and send the file we have already found. + */ + if (fd) { + more = apr_brigade_split(b, APR_BUCKET_NEXT(e)); + ap_save_brigade(f, &ctx->b, &more); + break; + } + fd = a->fd; flen = e->length; foffset = s->start;