From 5de783433809e7e011d5826e6039514f97a6958b Mon Sep 17 00:00:00 2001 From: Ryan Bloom Date: Tue, 23 Jan 2001 23:23:37 +0000 Subject: [PATCH] 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 --- modules/http/http_core.c | 10 ++++++++++ 1 file changed, 10 insertions(+) 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; -- 2.40.0