You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ic...@apache.org on 2017/10/30 14:37:04 UTC

svn commit: r1813769 - /httpd/httpd/patches/2.4.x/mod_http2_v1.10.13.diff

Author: icing
Date: Mon Oct 30 14:37:03 2017
New Revision: 1813769

URL: http://svn.apache.org/viewvc?rev=1813769&view=rev
Log:
proposed backport patch mod_http2 v1.10.13

Added:
    httpd/httpd/patches/2.4.x/mod_http2_v1.10.13.diff

Added: httpd/httpd/patches/2.4.x/mod_http2_v1.10.13.diff
URL: http://svn.apache.org/viewvc/httpd/httpd/patches/2.4.x/mod_http2_v1.10.13.diff?rev=1813769&view=auto
==============================================================================
--- httpd/httpd/patches/2.4.x/mod_http2_v1.10.13.diff (added)
+++ httpd/httpd/patches/2.4.x/mod_http2_v1.10.13.diff Mon Oct 30 14:37:03 2017
@@ -0,0 +1,171 @@
+Index: CHANGES
+===================================================================
+--- CHANGES	(revision 1813767)
++++ CHANGES	(working copy)
+@@ -1,6 +1,8 @@
+                                                          -*- coding: utf-8 -*-
+ Changes with Apache 2.4.30
+ 
++  *) mod_http2: avoid unnecessary data retrieval for a trace log. Allow certain
++     information retrievals on null bucket beams where it makes sense. [Stefan Eissing]
+ 
+ Changes with Apache 2.4.29
+ 
+Index: modules/http2/h2_bucket_beam.c
+===================================================================
+--- modules/http2/h2_bucket_beam.c	(revision 1813767)
++++ modules/http2/h2_bucket_beam.c	(working copy)
+@@ -663,7 +663,7 @@
+     h2_beam_lock bl;
+     apr_size_t buffer_size = 0;
+     
+-    if (enter_yellow(beam, &bl) == APR_SUCCESS) {
++    if (beam && enter_yellow(beam, &bl) == APR_SUCCESS) {
+         buffer_size = beam->max_buf_size;
+         leave_yellow(beam, &bl);
+     }
+@@ -696,7 +696,7 @@
+ {
+     h2_beam_lock bl;
+     
+-    if (enter_yellow(beam, &bl) == APR_SUCCESS) {
++    if (beam && enter_yellow(beam, &bl) == APR_SUCCESS) {
+         if (!beam->aborted) {
+             beam->aborted = 1;
+             r_purge_sent(beam);
+@@ -712,7 +712,7 @@
+ {
+     h2_beam_lock bl;
+     
+-    if (enter_yellow(beam, &bl) == APR_SUCCESS) {
++    if (beam && enter_yellow(beam, &bl) == APR_SUCCESS) {
+         r_purge_sent(beam);
+         beam_close(beam);
+         report_consumption(beam, &bl);
+@@ -725,7 +725,7 @@
+ {
+     h2_beam_lock bl;
+     
+-    if (enter_yellow(beam, &bl) == APR_SUCCESS) {
++    if (beam && enter_yellow(beam, &bl) == APR_SUCCESS) {
+         recv_buffer_cleanup(beam, &bl);
+         beam->aborted = 1;
+         beam_close(beam);
+@@ -1165,7 +1165,7 @@
+     apr_off_t l = 0;
+     h2_beam_lock bl;
+     
+-    if (enter_yellow(beam, &bl) == APR_SUCCESS) {
++    if (beam && enter_yellow(beam, &bl) == APR_SUCCESS) {
+         for (b = H2_BLIST_FIRST(&beam->send_list); 
+             b != H2_BLIST_SENTINEL(&beam->send_list);
+             b = APR_BUCKET_NEXT(b)) {
+@@ -1183,7 +1183,7 @@
+     apr_off_t l = 0;
+     h2_beam_lock bl;
+     
+-    if (enter_yellow(beam, &bl) == APR_SUCCESS) {
++    if (beam && enter_yellow(beam, &bl) == APR_SUCCESS) {
+         for (b = H2_BLIST_FIRST(&beam->send_list); 
+             b != H2_BLIST_SENTINEL(&beam->send_list);
+             b = APR_BUCKET_NEXT(b)) {
+@@ -1199,7 +1199,7 @@
+     int empty = 1;
+     h2_beam_lock bl;
+     
+-    if (enter_yellow(beam, &bl) == APR_SUCCESS) {
++    if (beam && enter_yellow(beam, &bl) == APR_SUCCESS) {
+         empty = (H2_BLIST_EMPTY(&beam->send_list) 
+                  && (!beam->recv_buffer || APR_BRIGADE_EMPTY(beam->recv_buffer)));
+         leave_yellow(beam, &bl);
+@@ -1212,7 +1212,7 @@
+     int has_proxies = 1;
+     h2_beam_lock bl;
+     
+-    if (enter_yellow(beam, &bl) == APR_SUCCESS) {
++    if (beam && enter_yellow(beam, &bl) == APR_SUCCESS) {
+         has_proxies = !H2_BPROXY_LIST_EMPTY(&beam->proxies);
+         leave_yellow(beam, &bl);
+     }
+@@ -1224,7 +1224,7 @@
+     int happend = 0;
+     h2_beam_lock bl;
+     
+-    if (enter_yellow(beam, &bl) == APR_SUCCESS) {
++    if (beam && enter_yellow(beam, &bl) == APR_SUCCESS) {
+         happend = (beam->received_bytes > 0);
+         leave_yellow(beam, &bl);
+     }
+@@ -1236,7 +1236,7 @@
+     apr_size_t n = 0;
+     h2_beam_lock bl;
+     
+-    if (enter_yellow(beam, &bl) == APR_SUCCESS) {
++    if (beam && enter_yellow(beam, &bl) == APR_SUCCESS) {
+         n = beam->files_beamed;
+         leave_yellow(beam, &bl);
+     }
+Index: modules/http2/h2_mplx.c
+===================================================================
+--- modules/http2/h2_mplx.c	(revision 1813767)
++++ modules/http2/h2_mplx.c	(working copy)
+@@ -377,11 +377,12 @@
+     h2_mplx *m = ctx;
+     h2_stream *stream = val;
+     h2_task *task = stream->task;
+-    ap_log_cerror(APLOG_MARK, APLOG_TRACE1, 0, m->c,
+-                  H2_STRM_MSG(stream, "started=%d, scheduled=%d, ready=%d, "
+-                              "out_buffer=%ld"), 
+-                  !!stream->task, stream->scheduled, h2_stream_is_ready(stream),
+-                  (long)h2_beam_get_buffered(stream->output));
++    if (APLOGctrace1(m->c)) {
++        ap_log_cerror(APLOG_MARK, APLOG_TRACE1, 0, m->c,
++                      H2_STRM_MSG(stream, "started=%d, scheduled=%d, ready=%d, out_buffer=%ld"), 
++                      !!stream->task, stream->scheduled, h2_stream_is_ready(stream),
++                      (long)h2_beam_get_buffered(stream->output));
++    }
+     if (task) {
+         ap_log_cerror(APLOG_MARK, APLOG_DEBUG, 0, m->c, /* NO APLOGNO */
+                       H2_STRM_MSG(stream, "->03198: %s %s %s"
+Index: modules/http2/h2_version.h
+===================================================================
+--- modules/http2/h2_version.h	(revision 1813767)
++++ modules/http2/h2_version.h	(working copy)
+@@ -26,7 +26,7 @@
+  * @macro
+  * Version number of the http2 module as c string
+  */
+-#define MOD_HTTP2_VERSION "1.10.12"
++#define MOD_HTTP2_VERSION "1.10.13"
+ 
+ /**
+  * @macro
+@@ -34,7 +34,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 0x010a0b
++#define MOD_HTTP2_VERSION_NUM 0x010a0d
+ 
+ 
+ #endif /* mod_h2_h2_version_h */
+Index: modules/http2
+===================================================================
+--- modules/http2	(revision 1813767)
++++ modules/http2	(working copy)
+
+Property changes on: modules/http2
+___________________________________________________________________
+Modified: svn:mergeinfo
+## -0,0 +0,1 ##
+   Merged /httpd/httpd/trunk/modules/http2:r1813767
+Index: .
+===================================================================
+--- .	(revision 1813767)
++++ .	(working copy)
+
+Property changes on: .
+___________________________________________________________________
+Modified: svn:mergeinfo
+## -0,0 +0,1 ##
+   Merged /httpd/httpd/trunk:r1813767