Return-Path: Delivered-To: apmail-httpd-cvs-archive@www.apache.org Received: (qmail 12858 invoked from network); 12 Dec 2007 20:43:41 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 12 Dec 2007 20:43:41 -0000 Received: (qmail 63737 invoked by uid 500); 12 Dec 2007 20:43:30 -0000 Delivered-To: apmail-httpd-cvs-archive@httpd.apache.org Received: (qmail 63537 invoked by uid 500); 12 Dec 2007 20:43:29 -0000 Mailing-List: contact cvs-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list cvs@httpd.apache.org Received: (qmail 63526 invoked by uid 99); 12 Dec 2007 20:43:29 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 12 Dec 2007 12:43:29 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 12 Dec 2007 20:43:08 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 0D9301A9832; Wed, 12 Dec 2007 12:43:12 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r603732 - in /httpd/httpd/branches/2.2.x: CHANGES STATUS modules/http/chunk_filter.c server/protocol.c Date: Wed, 12 Dec 2007 20:43:09 -0000 To: cvs@httpd.apache.org From: niq@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20071212204312.0D9301A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: niq Date: Wed Dec 12 12:43:04 2007 New Revision: 603732 URL: http://svn.apache.org/viewvc?rev=603732&view=rev Log: Backport r602735 and r602735 Modified: httpd/httpd/branches/2.2.x/CHANGES httpd/httpd/branches/2.2.x/STATUS httpd/httpd/branches/2.2.x/modules/http/chunk_filter.c httpd/httpd/branches/2.2.x/server/protocol.c Modified: httpd/httpd/branches/2.2.x/CHANGES URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/CHANGES?rev=603732&r1=603731&r2=603732&view=diff ============================================================================== --- httpd/httpd/branches/2.2.x/CHANGES [utf-8] (original) +++ httpd/httpd/branches/2.2.x/CHANGES [utf-8] Wed Dec 12 12:43:04 2007 @@ -5,6 +5,14 @@ mod_imagemap: Fix a cross-site scripting issue. Reported by JPCERT. [Joe Orton] + *) core: Lower memory consumption of ap_r* functions by reusing the brigade + instead of recreating it during each filter pass. + [Stefan Fritsch ] + + *) core: Lower memory consumption in case that flush buckets are passed thru + the chunk filter as last bucket of a brigade. PR 23567. + [Stefan Fritsch ] + *) core: Fix broken chunk filtering that causes all non blocking reads to be converted into blocking reads. PR 19954, 41056. [Jean-Frederic Clere, Jim Jagielski] Modified: httpd/httpd/branches/2.2.x/STATUS URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/STATUS?rev=603732&r1=603731&r2=603732&view=diff ============================================================================== --- httpd/httpd/branches/2.2.x/STATUS (original) +++ httpd/httpd/branches/2.2.x/STATUS Wed Dec 12 12:43:04 2007 @@ -85,23 +85,6 @@ 2.2.x version of the patch works +1 mturk, fuankg, rpluem - * core: Lower memory consumption in case that flush buckets are passed thru - the chunk filter as last bucket of a brigade. - PR: 23567 - Trunk version of patch: - http://svn.apache.org/viewcvs.cgi?rev=602735&view=rev - Backport version for 2.2.x of patch: - Trunk version of patch works - +1: rpluem, jorton, niq - - * core: Lower memory consumption of ap_r* functions by reusing the brigade - instead of recreating it during each filter pass. - Trunk version of patch: - http://svn.apache.org/viewcvs.cgi?rev=603227&view=rev - Backport version for 2.2.x of patch: - Trunk version of patch works - +1: rpluem, jorton, niq - PATCHES PROPOSED TO BACKPORT FROM TRUNK: [ New proposals should be added at the end of the list ] Modified: httpd/httpd/branches/2.2.x/modules/http/chunk_filter.c URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/modules/http/chunk_filter.c?rev=603732&r1=603731&r2=603732&view=diff ============================================================================== --- httpd/httpd/branches/2.2.x/modules/http/chunk_filter.c (original) +++ httpd/httpd/branches/2.2.x/modules/http/chunk_filter.c Wed Dec 12 12:43:04 2007 @@ -85,7 +85,9 @@ } if (APR_BUCKET_IS_FLUSH(e)) { flush = e; - more = apr_brigade_split(b, APR_BUCKET_NEXT(e)); + if (e != APR_BRIGADE_LAST(b)) { + more = apr_brigade_split(b, APR_BUCKET_NEXT(e)); + } break; } else if (e->length == (apr_size_t)-1) { Modified: httpd/httpd/branches/2.2.x/server/protocol.c URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/server/protocol.c?rev=603732&r1=603731&r2=603732&view=diff ============================================================================== --- httpd/httpd/branches/2.2.x/server/protocol.c (original) +++ httpd/httpd/branches/2.2.x/server/protocol.c Wed Dec 12 12:43:04 2007 @@ -1399,9 +1399,7 @@ * can simply insert our buffered data at the front and * pass the whole bundle down the chain. */ - APR_BRIGADE_CONCAT(ctx->bb, bb); - bb = ctx->bb; - ctx->bb = NULL; + APR_BRIGADE_PREPEND(bb, ctx->bb); } return ap_pass_brigade(f->next, bb);