libuv/include
Jameson Nash 88c2af0e65
req: revisions to uv_req_t handling
- 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>
2018-02-25 18:49:37 +01:00
..
android-ifaddrs.h
pthread-barrier.h
stdint-msvc2008.h
tree.h
uv-aix.h
uv-bsd.h
uv-darwin.h
uv-errno.h include,src: introduce UV__ERR() macro 2018-02-08 22:38:02 -05:00
uv-linux.h
uv-os390.h zos: implement uv_fs_event* functions 2017-12-15 11:04:16 +01:00
uv-posix.h
uv-sunos.h
uv-threadpool.h
uv-unix.h
uv-version.h Now working on version 1.19.3 2018-02-21 15:29:40 -05:00
uv-win.h
uv.h req: revisions to uv_req_t handling 2018-02-25 18:49:37 +01:00