Le 27/09/2022 à 13:00, ic...@apache.org a écrit :
Author: icing
Date: Tue Sep 27 11:00:10 2022
New Revision: 1904299

URL: http://svn.apache.org/viewvc?rev=1904299&view=rev
Log:
   *) mod_http2: use proper apr_time_t where it is due, no (int) casting.


Modified:
     httpd/httpd/trunk/modules/http2/h2_workers.c

Modified: httpd/httpd/trunk/modules/http2/h2_workers.c
URL: 
http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_workers.c?rev=1904299&r1=1904298&r2=1904299&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/http2/h2_workers.c (original)
+++ httpd/httpd/trunk/modules/http2/h2_workers.c Tue Sep 27 11:00:10 2022
@@ -78,7 +78,7 @@ struct h2_workers {
apr_uint32_t max_slots;
      apr_uint32_t min_active;
-    volatile int idle_limit;
+    volatile apr_time_t idle_limit;
      volatile int aborted;
      volatile int shutdown;
      int dynamic;
@@ -315,7 +315,7 @@ static void* APR_THREAD_FUNC slot_run(ap
          APR_RING_INSERT_TAIL(&workers->idle, slot, h2_slot, link);
          ++workers->idle_slots;
          slot->is_idle = 1;
-        if (slot->id >= workers->min_active && workers->idle_limit) {
+        if (slot->id >= workers->min_active && workers->idle_limit > 0) {
              rv = apr_thread_cond_timedwait(slot->more_work, workers->lock,
                                             workers->idle_limit);
              if (APR_TIMEUP == rv) {
@@ -416,7 +416,8 @@ static apr_status_t workers_pool_cleanup
  }
h2_workers *h2_workers_create(server_rec *s, apr_pool_t *pchild,
-                              int max_slots, int min_active, apr_time_t 
idle_limit)
+                              int max_slots, int min_active,
+                              apr_time_t idle_limit)
  {
      apr_status_t rv;
      h2_workers *workers;
@@ -453,7 +454,7 @@ h2_workers *h2_workers_create(server_rec
      workers->pool = pool;
      workers->min_active = min_active;
      workers->max_slots = max_slots;
-    workers->idle_limit = (int)((idle_limit > 0)? idle_limit : 
apr_time_from_sec(10));
+    workers->idle_limit = (idle_limit > 0)? idle_limit : apr_time_from_sec(10);

Hi,

just wondering if this 10s is related to the default value of H2MaxWorkerIdleSeconds?

If yes, the doc says 600 (unless I missed something obvious).

CJ


      workers->dynamic = (workers->min_active < workers->max_slots);
ap_log_error(APLOG_MARK, APLOG_INFO, 0, s,




Reply via email to