libuv/src
Jameson Nash fe7ee4a624
unix: remove busy loop from uv_async_send (#3879)
The current fix (libuv#2231) was found to be slow in certain cases. This
change should improve scalabaility a bit by only incurring the spin loop
delay while closing an UV_ASYNC. It also is intended to slightly improve
the behavior after uv_loop_close is called, by parking all of the
pending flags as set, so that it will not access the loop at all (until
the uv_async_t memory is freed, which we leave still to the
responsibility of the user).

Note that this bug appears to still exist on Win32, though it's harder
to address without the refactoring done to this code on libuv master.

Takes some inspiration from https://github.com/libuv/libuv/pull/2654
Takes some inspiration from https://github.com/libuv/libuv/pull/2656
Refs: https://github.com/libuv/libuv/pull/2231
2023-01-19 14:03:59 -06:00
..
unix unix: remove busy loop from uv_async_send (#3879) 2023-01-19 14:03:59 -06:00
win misc: extend getpw to take uid as an argument (#3523) 2023-01-17 21:51:28 -06:00
fs-poll.c win: fix style nits [NFC] (#3474) 2022-02-15 10:13:24 -05:00
heap-inl.h heap: fix heap_remove() 2014-05-23 20:04:42 +04:00
idna.c build: fix error C4146 on MSVC (#3271) 2022-02-13 00:57:43 -05:00
idna.h unix,win: support IDNA 2008 in uv_getaddrinfo() 2018-10-30 20:50:23 +01:00
inet.c unix,win: fix 'sprintf' is deprecated warning (#3813) 2022-11-08 09:56:14 +01:00
queue.h unix: use QUEUE_MOVE when iterating over lists 2015-10-08 21:47:43 +02:00
random.c build,unix: add QNX support 2020-09-22 23:14:46 -04:00
strscpy.c nfci: address some style nits 2020-08-21 17:25:42 -04:00
strscpy.h hurd: unbreak build on GNU/Hurd (#3450) 2022-02-23 12:04:18 -05:00
strtok.c core: add thread-safe strtok implementation (#3553) 2022-03-22 15:15:00 -04:00
strtok.h core: add thread-safe strtok implementation (#3553) 2022-03-22 15:15:00 -04:00
threadpool.c unix,win: give thread pool threads an 8 MB stack (#3787) 2022-10-18 23:06:47 +02:00
timer.c unix,win: initialize timer timeout field 2020-11-18 14:27:56 -05:00
uv-common.c misc: extend getpw to take uid as an argument (#3523) 2023-01-17 21:51:28 -06:00
uv-common.h unix,win: use static_assert when available (#3189) 2023-01-17 22:26:41 -06:00
uv-data-getter-setters.c nfci: address some style nits 2020-08-21 17:25:42 -04:00
version.c core: add UV_VERSION_HEX macro 2015-06-29 23:08:41 +02:00