]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
* Do not set filter context brigade to NULL (and thus need to recreate it each
authorRuediger Pluem <rpluem@apache.org>
Tue, 11 Dec 2007 12:48:39 +0000 (12:48 +0000)
committerRuediger Pluem <rpluem@apache.org>
Tue, 11 Dec 2007 12:48:39 +0000 (12:48 +0000)
  time) but empty it (via APR_BRIGADE_PREPEND) and reuse it.

Submitted by: Stefan Fritsch <sf sfritsch.de>
Reviewed by: rpluem

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@603227 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
server/protocol.c

diff --git a/CHANGES b/CHANGES
index 18a2eb65ab157263a27f098737eb531db6cc36b0..77510e63ae883f251c59a94ee20beee2b8e7c581 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,10 @@
 Changes with Apache 2.3.0
 [ When backported to 2.2.x, remove entry from this file ]
 
+  *) core: Lower memory consumption of ap_r* functions by reusing the brigade
+     instead of recreating it during each filter pass.
+     [Stefan Fritsch <sf sfritsch.de>]
+
   *) mod_proxy_ajp: Use 64K as maximum AJP packet size. This is the maximum
      length we can squeeze inside the AJP message packet.
      [Mladen Turk]
index 933f98276384dc378d8263ed7e4318fde937f1b9..e092e47414853120737cced295f76e13d1f57b08 100644 (file)
@@ -1397,9 +1397,7 @@ AP_CORE_DECLARE_NONSTD(apr_status_t) ap_old_write_filter(
          * 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);