diff options
author | cjihrig <cjihrig@gmail.com> | 2019-09-09 13:08:37 -0400 |
---|---|---|
committer | Rich Trott <rtrott@gmail.com> | 2019-09-12 00:49:02 -0700 |
commit | df0e2e3625d1f72e8b04e05ffa13997a51e9f0d7 (patch) | |
tree | 5ef978de762b47bcfc6323c48e7e22b862d6d657 /deps/uv/src/unix/tcp.c | |
parent | 62e8cc5e61a36ebe1bd913983a452961aa1c9946 (diff) | |
download | android-node-v8-df0e2e3625d1f72e8b04e05ffa13997a51e9f0d7.tar.gz android-node-v8-df0e2e3625d1f72e8b04e05ffa13997a51e9f0d7.tar.bz2 android-node-v8-df0e2e3625d1f72e8b04e05ffa13997a51e9f0d7.zip |
deps: upgrade to libuv 1.32.0
Notable changes:
- `uv_tcp_close_reset()` has been added.
- `uv_udp_set_source_membership()` has been added.
- A double free in `uv_free_cpu_info()` on OpenBSD
has been fixed.
- Defined, but empty environment variables can now
be read on Windows.
- Several improvements to the cmake build process.
- The `EILSEQ` error code is now mapped by libuv.
PR-URL: https://github.com/nodejs/node/pull/29508
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'deps/uv/src/unix/tcp.c')
-rw-r--r-- | deps/uv/src/unix/tcp.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/deps/uv/src/unix/tcp.c b/deps/uv/src/unix/tcp.c index 8cedcd6027..fa660f1381 100644 --- a/deps/uv/src/unix/tcp.c +++ b/deps/uv/src/unix/tcp.c @@ -308,6 +308,23 @@ int uv_tcp_getpeername(const uv_tcp_t* handle, } +int uv_tcp_close_reset(uv_tcp_t* handle, uv_close_cb close_cb) { + int fd; + struct linger l = { 1, 0 }; + + /* Disallow setting SO_LINGER to zero due to some platform inconsistencies */ + if (handle->flags & UV_HANDLE_SHUTTING) + return UV_EINVAL; + + fd = uv__stream_fd(handle); + if (0 != setsockopt(fd, SOL_SOCKET, SO_LINGER, &l, sizeof(l))) + return UV__ERR(errno); + + uv_close((uv_handle_t*) handle, close_cb); + return 0; +} + + int uv_tcp_listen(uv_tcp_t* tcp, int backlog, uv_connection_cb cb) { static int single_accept = -1; unsigned long flags; |