svn commit: r1934628 - in httpd/httpd/trunk: changes-entries modules/http2

[email protected]
Newsgroups gmane.comp.apache.cvs
Message-ID <177978135028.3539394.7515411319772810486@svn03-he-fi>
Author: icing
Date: Tue May 26 07:42:30 2026
New Revision: 1934628

Log:
*) mod_http2: update to version 2.0.40
     Fix error handling on upload requests when server runs out of file
     handles that left beam bucket callbacks in place, potentially using
     no longer valid references. Only applies on platforms with pipes
     and file descriptor limits not healthy for a network server.

Added:
   httpd/httpd/trunk/changes-entries/h2_v2.0.40.txt
Modified:
   httpd/httpd/trunk/modules/http2/h2_mplx.c
   httpd/httpd/trunk/modules/http2/h2_version.h

Added: httpd/httpd/trunk/changes-entries/h2_v2.0.40.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ httpd/httpd/trunk/changes-entries/h2_v2.0.40.txt	Tue May 26 07:42:30 2026	(r1934628)
@@ -0,0 +1,6 @@
+  *) mod_http2: update to version 2.0.40
+     Fix error handling on upload requests when server runs out of file
+     handles that left beam bucket callbacks in place, potentially using
+     no longer valid references. Only applies on platforms with pipes
+     and file descriptor limits not healthy for a network server.
+     [Stefan Eissing]

Modified: httpd/httpd/trunk/modules/http2/h2_mplx.c
==============================================================================
--- httpd/httpd/trunk/modules/http2/h2_mplx.c	Tue May 26 04:20:06 2026	(r1934627)
+++ httpd/httpd/trunk/modules/http2/h2_mplx.c	Tue May 26 07:42:30 2026	(r1934628)
@@ -880,9 +880,6 @@ static apr_status_t c2_setup_io(h2_mplx
     memset(&conn_ctx->pipe_in, 0, sizeof(conn_ctx->pipe_in));
     if (stream->input) {
         conn_ctx->beam_in = stream->input;
-        h2_beam_on_send(stream->input, c2_beam_input_write_notify, c2);
-        h2_beam_on_received(stream->input, c2_beam_input_read_notify, c2);
-        h2_beam_on_consumed(stream->input, c1_input_consumed, stream);
 #if H2_USE_PIPES
         action = "create input write pipe";
         rv = apr_file_pipe_create_pools(&conn_ctx->pipe_in[H2_PIPE_OUT],
@@ -891,6 +888,9 @@ static apr_status_t c2_setup_io(h2_mplx
                                         c2->pool, c2->pool);
         if (APR_SUCCESS != rv) goto cleanup;
 #endif
+        h2_beam_on_send(stream->input, c2_beam_input_write_notify, c2);
+        h2_beam_on_received(stream->input, c2_beam_input_read_notify, c2);
+        h2_beam_on_consumed(stream->input, c1_input_consumed, stream);
         h2_beam_on_eagain(stream->input, c2_beam_input_read_eagain, c2);
         if (!h2_beam_empty(stream->input))
             c2_beam_input_write_notify(c2, stream->input);

Modified: httpd/httpd/trunk/modules/http2/h2_version.h
==============================================================================
--- httpd/httpd/trunk/modules/http2/h2_version.h	Tue May 26 04:20:06 2026	(r1934627)
+++ httpd/httpd/trunk/modules/http2/h2_version.h	Tue May 26 07:42:30 2026	(r1934628)
@@ -27,7 +27,7 @@
  * @macro
  * Version number of the http2 module as c string
  */
-#define MOD_HTTP2_VERSION "2.0.39"
+#define MOD_HTTP2_VERSION "2.0.40"
 
 /**
  * @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 0x020027
+#define MOD_HTTP2_VERSION_NUM 0x020028
 
 
 #endif /* mod_h2_h2_version_h */
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.