libuv/src
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
..
unix req: revisions to uv_req_t handling 2018-02-25 18:49:37 +01:00
win req: revisions to uv_req_t handling 2018-02-25 18:49:37 +01:00
fs-poll.c unix, win: count null byte on UV_ENOBUFS 2016-03-03 09:23:10 +01:00
heap-inl.h heap: fix heap_remove() 2014-05-23 20:04:42 +04:00
inet.c win: use the MSVC provided snprintf where possible 2015-09-29 09:01:33 +02:00
queue.h unix: use QUEUE_MOVE when iterating over lists 2015-10-08 21:47:43 +02:00
threadpool.c unix,win: wait for threads to start 2017-12-06 23:47:38 +01:00
uv-common.c req: revisions to uv_req_t handling 2018-02-25 18:49:37 +01:00
uv-common.h req: revisions to uv_req_t handling 2018-02-25 18:49:37 +01:00
uv-data-getter-setters.c core: add getter/setter functions for easier ABI compat 2017-12-02 09:51:25 +01:00
version.c core: add UV_VERSION_HEX macro 2015-06-29 23:08:41 +02:00