]> granicus.if.org Git - apache/commitdiff
On the 2.4.x branch:
authorStefan Eissing <icing@apache.org>
Sat, 2 Dec 2017 17:51:37 +0000 (17:51 +0000)
committerStefan Eissing <icing@apache.org>
Sat, 2 Dec 2017 17:51:37 +0000 (17:51 +0000)
Fixed backport of r1816619 (mod_http2) to have the desired changes and added the version inc as well.

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

modules/http2/h2_version.h
modules/http2/h2_workers.c

index 4c0796dce33edcbdca681f8eadf879a6069dc585..4cf366f4342dd01d83a93d1ff4178575039e556d 100644 (file)
@@ -26,7 +26,7 @@
  * @macro
  * Version number of the http2 module as c string
  */
-#define MOD_HTTP2_VERSION "1.10.13"
+#define MOD_HTTP2_VERSION "1.10.14"
 
 /**
  * @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 0x010a0d
+#define MOD_HTTP2_VERSION_NUM 0x010a0e
 
 
 #endif /* mod_h2_h2_version_h */
index 12762506440a7743c26077ae1c989bf3ced0be10..2df92b2354cc574665c63789f8df3a84e454fb83 100644 (file)
@@ -160,7 +160,7 @@ static apr_status_t slot_pull_task(h2_slot *slot, h2_mplx *m)
          * If we still have idle workers, we let the worker be sticky, 
          * e.g. making it poll the task's h2_mplx instance for more work 
          * before asking back here. */
-        slot->sticks = slot->workers->max_workers;
+        slot->sticks = 1;/*slot->workers->max_workers;*/
         return rv;            
     }
     slot->sticks = 0;
@@ -305,7 +305,18 @@ h2_workers *h2_workers_create(server_rec *s, apr_pool_t *server_pool,
     workers->max_workers = max_workers;
     workers->max_idle_secs = (idle_secs > 0)? idle_secs : 10;
 
-    status = h2_fifo_create(&workers->mplxs, pool, 2 * workers->max_workers);
+    /* FIXME: the fifo set we use here has limited capacity. Once the
+     * set is full, connections with new requests do a wait. Unfortunately,
+     * we have optimizations in place there that makes such waiting "unfair"
+     * in the sense that it may take connections a looong time to get scheduled.
+     *
+     * Need to rewrite this to use one of our double-linked lists and a mutex
+     * to have unlimited capacity and fair scheduling.
+     *
+     * For now, we just make enough room to have many connections inside one
+     * process.
+     */
+    status = h2_fifo_set_create(&workers->mplxs, pool, 8 * 1024);
     if (status != APR_SUCCESS) {
         return NULL;
     }