]> granicus.if.org Git - apache/commitdiff
On the trunk:
authorStefan Eissing <icing@apache.org>
Sat, 28 Apr 2018 09:41:01 +0000 (09:41 +0000)
committerStefan Eissing <icing@apache.org>
Sat, 28 Apr 2018 09:41:01 +0000 (09:41 +0000)
mod_http2: adding regular memory cleanup when transferring large response bodies. This
     reduces memory footprint and avoids memory exhaustion when transferring large files
     on 32-bit architectures. Fixes PR 62325.

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

CHANGES
modules/http2/h2_bucket_beam.c
modules/http2/h2_version.h

diff --git a/CHANGES b/CHANGES
index 67e5486063c2508bb0b44d5fc1c954acbbe2db81..86f7b71782ec6367dbecff81ffbf9b78b15071de 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,10 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache 2.5.1
 
+  *) mod_http2: adding regular memory cleanup when transferring large response bodies. This
+     reduces memory footprint and avoids memory exhaustion when transferring large files
+     on 32-bit architectures. Fixes PR 62325. [Stefan Eissing]
+
   *) http: LimitRequestBody applies to proxied requests.  [Yann Ylavic]
 
   *) mod_proxy_http: Fix response header thrown away after the previous one
index 7653ec1092e537ec3616333f79370e47e5000f19..9f6fa824f62c81f70ecfb01675382e6ca26ea7cc 100644 (file)
@@ -923,6 +923,7 @@ apr_status_t h2_beam_send(h2_bucket_beam *beam,
             while (!APR_BRIGADE_EMPTY(sender_bb) && APR_SUCCESS == rv) {
                 if (space_left <= 0) {
                     report_prod_io(beam, force_report, &bl);
+                    r_purge_sent(beam);
                     rv = wait_not_full(beam, block, &space_left, &bl);
                     if (APR_SUCCESS != rv) {
                         break;
index 01c4232cf42286ba208eed6b5015f2c65163ab09..91c71960755ad1fde8e05706c6b62fd30ca158b0 100644 (file)
@@ -27,7 +27,7 @@
  * @macro
  * Version number of the http2 module as c string
  */
-#define MOD_HTTP2_VERSION "1.10.17-DEV"
+#define MOD_HTTP2_VERSION "1.10.19-DEV"
 
 /**
  * @macro
@@ -35,7 +35,7 @@
  * release. This is a 24 bit number with 8 bits for major number, 8 bits
  * for minor and 8 bits for patch. Version 1.2.3 becomes 0x010203.
  */
-#define MOD_HTTP2_VERSION_NUM 0x010a11
+#define MOD_HTTP2_VERSION_NUM 0x010a13
 
 
 #endif /* mod_h2_h2_version_h */