]> granicus.if.org Git - apache/commitdiff
Backport
authorJim Jagielski <jim@apache.org>
Mon, 20 Jun 2016 13:10:06 +0000 (13:10 +0000)
committerJim Jagielski <jim@apache.org>
Mon, 20 Jun 2016 13:10:06 +0000 (13:10 +0000)
Merge r1749151 from trunk:

mod_http2: fix for request abort when connections drops, introduced in 1.5.8
Submitted by: icing
Reviewed/backported by: jim

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1749331 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
STATUS
modules/http2/h2_mplx.c

diff --git a/CHANGES b/CHANGES
index 17ee005c4a009e3f137ebc861b03c045cec08c86..f5a513ace1d651ed29ba068a5f7083b8f2c16f71 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,9 @@
 
 Changes with Apache 2.4.22
 
+  *) mod_http2: fix for request abort when connections drops, introduced in
+     1.5.8
+
 Changes with Apache 2.4.21
 
   *) mod_http2: more rigid error handling in DATA frame assembly, leading
diff --git a/STATUS b/STATUS
index 71ac71fb7ea69a178d44d8e0372ded7421f24b8a..1bad200a32ef7a0b917a20432f3a36afbe2ca4d3 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -146,11 +146,6 @@ PATCHES PROPOSED TO BACKPORT FROM TRUNK:
      2.4.x: trunk patch works
      +1: elukey
 
-  *) mod_http2: fix for request abort when connections drops, introduced in 1.5.8
-     trunk patch: http://svn.apache.org/r1749151
-     2.4.x: trunk patch works
-     +1: jim
-
 PATCHES/ISSUES THAT ARE BEING WORKED
 
   *) http: Don't remove the Content-Length of zero from a HEAD response if
index 9b2cb956a16a072974738b4bb17dfd6d316d1824..2b8ed6bb7a7e7ab18a8dded6d53dd01bf50f888d 100644 (file)
@@ -436,6 +436,9 @@ static void stream_done(h2_mplx *m, h2_stream *stream, int rst_error)
     if (stream->input) {
         m->tx_handles_reserved += h2_beam_get_files_beamed(stream->input);
         h2_beam_on_consumed(stream->input, NULL, NULL);
+        /* Let anyone blocked reading know that there is no more to come */
+        h2_beam_abort(stream->input);
+        /* Remove mutex after, so that abort still finds cond to signal */
         h2_beam_mutex_set(stream->input, NULL, NULL, NULL);
     }
     h2_stream_cleanup(stream);