- Remove the `active_reqs` queue, which is never used. There are more efficient per-stream queues that `libuv` uses whenever it needs this information, so duplicating it and managing it here seems like unnecessary extra space and work. - Unix `uv_loop_init` didn't explicitly initialize. `loop->active_handles` (although it did memset the whole struct to 0, so it wasn't wrong previously, just inconsistent). - Consolidate repeated code for `uv__has_active_reqs`. - Change `uv__loop_alive` to use the helper functions (mirroring the unix copy of the same function). - Initialize some more uv_stream_t fields in init, rather than waiting for the connection callback. This helps surface bugs in libuv or the caller better, since it ensures libuv doesn't see uninitialized memory if asked to look at these fields before it thinks the socket is connected. - Fixes what appears to be a double-counting of `handle->reqs_pending`, in the highly-unlikely event that the code wants to emulate IOCP, but `RegisterWaitForSingleObject` somehow managed to fail. PR-URL: https://github.com/libuv/libuv/pull/1746 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com> |
||
|---|---|---|
| .. | ||
| android-ifaddrs.h | ||
| pthread-barrier.h | ||
| stdint-msvc2008.h | ||
| tree.h | ||
| uv-aix.h | ||
| uv-bsd.h | ||
| uv-darwin.h | ||
| uv-errno.h | ||
| uv-linux.h | ||
| uv-os390.h | ||
| uv-posix.h | ||
| uv-sunos.h | ||
| uv-threadpool.h | ||
| uv-unix.h | ||
| uv-version.h | ||
| uv-win.h | ||
| uv.h | ||