]> granicus.if.org Git - apache/commitdiff
On the trunk:
authorStefan Eissing <icing@apache.org>
Mon, 30 Apr 2018 12:46:50 +0000 (12:46 +0000)
committerStefan Eissing <icing@apache.org>
Mon, 30 Apr 2018 12:46:50 +0000 (12:46 +0000)
mod_http2: restoring the v1.10.16 keepalive timeout behavioud of mod_http2 (to be verified).

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

CHANGES
modules/http2/h2_conn.c

diff --git a/CHANGES b/CHANGES
index c876a72cafd183a79c04972d1d8bcb8aef40af87..09343fa05e32f9bfd24ef7aded7824d7219af43e 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache 2.5.1
 
+  *) mod_http2: restoring the v1.10.16 keepalive timeout behavioud of mod_http2 (to be verified).
+     [Stefan Eissing]
+
   *) mod_http2: adding an abort function to slave connections' pools, so out-of-memory
      events lead to a control process abort, as on HTTP/1.x connections. [Stefan Eissing]
   
index 26802e4727e1021d6937a617dbe892883197a51c..68233641a4cdcfb957f95010c69bd165f614d7de 100644 (file)
@@ -229,7 +229,19 @@ apr_status_t h2_conn_run(struct h2_ctx *ctx, conn_rec *c)
              && mpm_state != AP_MPMQ_STOPPING);
 
     if (c->cs) {
-        c->cs->state = CONN_STATE_LINGER;
+        switch (session->state) {
+            case H2_SESSION_ST_INIT:
+            case H2_SESSION_ST_IDLE:
+            case H2_SESSION_ST_BUSY:
+            case H2_SESSION_ST_WAIT:
+                c->cs->state = CONN_STATE_WRITE_COMPLETION;
+                break;
+            case H2_SESSION_ST_CLEANUP:
+            case H2_SESSION_ST_DONE:
+            default:
+                c->cs->state = CONN_STATE_LINGER;
+            break;
+        }
     }
 
     return APR_SUCCESS;