summaryrefslogtreecommitdiffstats
path: root/modules/http2/h2_stream.h
diff options
context:
space:
mode:
authorStefan Eissing <icing@apache.org>2023-06-13 16:36:43 +0200
committerStefan Eissing <icing@apache.org>2023-06-13 16:36:43 +0200
commitccf4365117ef1df09334d02a3ee9e3bb329b8360 (patch)
tree9d26ee90546de433f0c7847a6902c3c64936685c /modules/http2/h2_stream.h
parentArrange ap_h1_response_out_filter() according to include/mod_core.h. (diff)
downloadapache2-ccf4365117ef1df09334d02a3ee9e3bb329b8360.tar.xz
apache2-ccf4365117ef1df09334d02a3ee9e3bb329b8360.zip
*) mod_http2: fixed a bug that could lead to a crash in main connection
output handling. This occured only when the last request on a HTTP/2 connection had been processed and the session decided to shut down. This could lead to an attempt to send a final GOAWAY while the previous write was still in progress. See PR 66646. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1910386 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/http2/h2_stream.h')
-rw-r--r--modules/http2/h2_stream.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/modules/http2/h2_stream.h b/modules/http2/h2_stream.h
index 695d56ac5e..638dbdac0d 100644
--- a/modules/http2/h2_stream.h
+++ b/modules/http2/h2_stream.h
@@ -63,7 +63,22 @@ typedef struct h2_stream_monitor {
trigger a state change */
} h2_stream_monitor;
+#ifdef AP_DEBUG
+#define H2_STRM_MAGIC_OK 0x5354524d
+#define H2_STRM_MAGIC_SDEL 0x5344454c
+#define H2_STRM_MAGIC_PDEL 0x5044454c
+
+#define H2_STRM_ASSIGN_MAGIC(s,m) ((s)->magic = m)
+#define H2_STRM_ASSERT_MAGIC(s,m) ap_assert((s)->magic == m)
+#else
+#define H2_STRM_ASSIGN_MAGIC(s,m) ((void)0)
+#define H2_STRM_ASSERT_MAGIC(s,m) ((void)0)
+#endif
+
struct h2_stream {
+#ifdef AP_DEBUG
+ uint32_t magic;
+#endif
int id; /* http2 stream identifier */
int initiated_on; /* initiating stream id (PUSH) or 0 */
apr_pool_t *pool; /* the memory pool for this stream */