You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ni...@apache.org on 2007/12/12 21:43:09 UTC
svn commit: r603732 - in /httpd/httpd/branches/2.2.x: CHANGES STATUS
modules/http/chunk_filter.c server/protocol.c
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 <sf sfritsch.de>]
+
+ *) 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 <sf sfritsch.de>]
+
*) 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);