]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
mpm_event: avoid possible timer off by 250 ms.
authorYann Ylavic <ylavic@apache.org>
Thu, 22 Jul 2021 16:10:02 +0000 (16:10 +0000)
committerYann Ylavic <ylavic@apache.org>
Thu, 22 Jul 2021 16:10:02 +0000 (16:10 +0000)
* server/mpm/event/event.c (listener_thread): EVENT_FUDGE_FACTOR is used to
  limit wakeups but still expiring timers should be compared with the real
  apr_time_now().

Similar to r1874277 for TIMEOUT_FUDGE_FACTOR.

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

server/mpm/event/event.c

index e77da8b2b98335f0f584cd521942cf52ae12776c..24a90c818bfd0f01df58b491af2226fd83018ca3 100644 (file)
@@ -1934,10 +1934,10 @@ static void * APR_THREAD_FUNC listener_thread(apr_thread_t * thd, void *dummy)
          * the maximum time to poll() below, if any.
          */
         expiry = timers_next_expiry;
-        if (expiry && expiry < now + EVENT_FUDGE_FACTOR) {
+        if (expiry && expiry < now) {
             apr_thread_mutex_lock(g_timer_skiplist_mtx);
             while ((te = apr_skiplist_peek(timer_skiplist))) {
-                if (te->when > now + EVENT_FUDGE_FACTOR) {
+                if (te->when > now) {
                     timers_next_expiry = te->when;
                     timeout = te->when - now;
                     break;