libuv/include
Matheus Izvekov 51a22f60d6
unix,win: fix busy loop with zero timeout timers (#4250)
Calling `uv_timer_start(h, cb, 0, 0)` from a timer callback resulted in
the timer running immediately because it was inserted at the front of
the timer heap.

If the callback did that every time, libuv would effectively busy-loop
in `uv__run_timers()` and never make forward progress.

Work around that by collecting all expired timers into a queue and only
running their callback afterwards.

Fixes: https://github.com/libuv/libuv/issues/4245
Co-authored-by: Ben Noordhuis <info@bnoordhuis.nl>
2023-12-22 12:40:50 +01:00
..
uv unix,win: fix busy loop with zero timeout timers (#4250) 2023-12-22 12:40:50 +01:00
uv.h unix,win: utility for setting priority for thread (#4075) 2023-11-14 11:30:46 +01:00