diff options
author | Ben Noordhuis <info@bnoordhuis.nl> | 2017-03-14 10:01:35 +0100 |
---|---|---|
committer | Ben Noordhuis <info@bnoordhuis.nl> | 2017-03-15 10:03:10 +0100 |
commit | 5fc8aecd81dbb31e76bd80834bb73b0e9b1e5c4c (patch) | |
tree | 7fcd7841712e3ff02ff0eaa7eef457e9e7ed0c87 /docs/src | |
parent | d7cf771072b3153e7641a9cef61160974cee8a39 (diff) | |
download | libuv-5fc8aecd81dbb31e76bd80834bb73b0e9b1e5c4c.tar.gz libuv-5fc8aecd81dbb31e76bd80834bb73b0e9b1e5c4c.zip |
unix: simplify async watcher dispatch logic
Remove the unused `nevents` parameter from `uv__async_event()`
and remove the indirection of having a separate `uv__async`
type. There is only one instance per event loop these days.
This incidentally removes the `assert(n == sizeof(val))` in a
Linux-specific code path that some users seem to hit from time
to time. The cause is not well-understood and I've never been
able to reproduce it myself. Presumably libuv gets an EAGAIN
when trying to read from the eventfd but when and why that
happens is unclear.
Since the byte count is unused, removing the assert seems safe.
Worst case, libuv sometimes iterates over the async watcher list
when it doesn't have to.
Fixes: https://github.com/libuv/libuv/issues/1171
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
Supersedes: https://github.com/libuv/libuv/pull/1214
Diffstat (limited to 'docs/src')
0 files changed, 0 insertions, 0 deletions