diff options
author | Suguru Motegi <suguru.motegi@gmail.com> | 2018-11-06 21:44:31 -0800 |
---|---|---|
committer | Rich Trott <rtrott@gmail.com> | 2018-12-01 08:20:58 -0800 |
commit | e9de43549843da9f4f081cce917945878967df7e (patch) | |
tree | 3da377dec8f63657b5e193257d0f25aa15d8f8df /lib | |
parent | eb6741b15ebd93ffdd71e87cbc1350b9e94ef222 (diff) | |
download | android-node-v8-e9de43549843da9f4f081cce917945878967df7e.tar.gz android-node-v8-e9de43549843da9f4f081cce917945878967df7e.tar.bz2 android-node-v8-e9de43549843da9f4f081cce917945878967df7e.zip |
timers: fix setTimeout expiration logic
Fix the timer logic to be the same as v10.30.0.
Fixes: https://github.com/nodejs/node/issues/24203
PR-URL: https://github.com/nodejs/node/pull/24214
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/timers.js | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/timers.js b/lib/timers.js index 575dcf25f6..1531cd1fb6 100644 --- a/lib/timers.js +++ b/lib/timers.js @@ -283,7 +283,7 @@ function listOnTimeout(list, now) { // Check if this loop iteration is too early for the next timer. // This happens if there are more timers scheduled for later in the list. if (diff < msecs) { - list.expiry = timer._idleStart + msecs; + list.expiry = Math.max(timer._idleStart + msecs, now + 1); list.id = timerListId++; queue.percolateDown(1); debug('%d list wait because diff is %d', msecs, diff); |