diff options
author | cjihrig <cjihrig@gmail.com> | 2019-03-16 14:38:18 -0400 |
---|---|---|
committer | cjihrig <cjihrig@gmail.com> | 2019-03-18 14:42:24 -0400 |
commit | d6f6d7f8541327b72667d38777c47b9ea675125d (patch) | |
tree | babcc15f478453e5a7a426f1227c3372cb79e869 /deps/uv/src/unix/core.c | |
parent | 04f30e1a7a5a2f49b611314578758e2009ec2152 (diff) | |
download | android-node-v8-d6f6d7f8541327b72667d38777c47b9ea675125d.tar.gz android-node-v8-d6f6d7f8541327b72667d38777c47b9ea675125d.tar.bz2 android-node-v8-d6f6d7f8541327b72667d38777c47b9ea675125d.zip |
deps: upgrade to libuv 1.27.0
Notable changes:
- `statx()` is used to retrieve file birth times on
supported platforms.
- Improved support of running under Windows safe mode.
- Add support for UDP connected sockets. Several functions
can now return `UV_EBADF` instead of `UV_EINVAL`.
- SunOS support is improved.
PR-URL: https://github.com/nodejs/node/pull/26707
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'deps/uv/src/unix/core.c')
-rw-r--r-- | deps/uv/src/unix/core.c | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/deps/uv/src/unix/core.c b/deps/uv/src/unix/core.c index 7e42337b9a..ca0e345da0 100644 --- a/deps/uv/src/unix/core.c +++ b/deps/uv/src/unix/core.c @@ -161,7 +161,9 @@ void uv_close(uv_handle_t* handle, uv_close_cb close_cb) { case UV_FS_POLL: uv__fs_poll_close((uv_fs_poll_t*)handle); - break; + /* Poll handles use file system requests, and one of them may still be + * running. The poll code will call uv__make_close_pending() for us. */ + return; case UV_SIGNAL: uv__signal_close((uv_signal_t*) handle); @@ -1405,3 +1407,25 @@ error: buffer->machine[0] = '\0'; return r; } + +int uv__getsockpeername(const uv_handle_t* handle, + uv__peersockfunc func, + struct sockaddr* name, + int* namelen) { + socklen_t socklen; + uv_os_fd_t fd; + int r; + + r = uv_fileno(handle, &fd); + if (r < 0) + return r; + + /* sizeof(socklen_t) != sizeof(int) on some systems. */ + socklen = (socklen_t) *namelen; + + if (func(fd, name, &socklen)) + return UV__ERR(errno); + + *namelen = (int) socklen; + return 0; +} |