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-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0aadd7ed599f7138a155ad8468150fed5bde1eb9;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;