diff options
author | Jameson Nash <vtjnash@gmail.com> | 2023-01-19 14:03:59 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-19 14:03:59 -0600 |
commit | fe7ee4a624e69063e2f9b4b4c39861ed63368303 (patch) | |
tree | 20dd5f6fc3ff3d75ef59a1e988eef76f4dca7077 /docs/src | |
parent | a40058dbd12fbcd92b571f656f10a35d2ebf206b (diff) | |
download | libuv-fe7ee4a624e69063e2f9b4b4c39861ed63368303.tar.gz libuv-fe7ee4a624e69063e2f9b4b4c39861ed63368303.zip |
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
Diffstat (limited to 'docs/src')
0 files changed, 0 insertions, 0 deletions