diff options
author | Saúl Ibarra Corretgé <saghul@gmail.com> | 2016-04-01 11:19:19 +0200 |
---|---|---|
committer | Saúl Ibarra Corretgé <saghul@gmail.com> | 2016-04-07 10:48:27 -0300 |
commit | c3cec1eefc9f3b55a3fb7bd623b3d921f493870d (patch) | |
tree | 8a4defa8165e15d3d2afd331f2b04c90c70d5bb6 /deps/uv/src/unix/stream.c | |
parent | 71544c5ecae20123a328e08a04b7f1587c4cdbbd (diff) | |
download | android-node-v8-c3cec1eefc9f3b55a3fb7bd623b3d921f493870d.tar.gz android-node-v8-c3cec1eefc9f3b55a3fb7bd623b3d921f493870d.tar.bz2 android-node-v8-c3cec1eefc9f3b55a3fb7bd623b3d921f493870d.zip |
deps: upgrade libuv to 1.9.0
Fixes: https://github.com/nodejs/node/issues/5737
Fixes: https://github.com/nodejs/node/issues/4643
Fixes: https://github.com/nodejs/node/issues/4291
Fixes: https://github.com/nodejs/node-v0.x-archive/issues/8960
Refs: https://github.com/nodejs/node/pull/3594
PR-URL: https://github.com/nodejs/node/pull/5994
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Diffstat (limited to 'deps/uv/src/unix/stream.c')
-rw-r--r-- | deps/uv/src/unix/stream.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/deps/uv/src/unix/stream.c b/deps/uv/src/unix/stream.c index 7d7ab2633b..9043664dfc 100644 --- a/deps/uv/src/unix/stream.c +++ b/deps/uv/src/unix/stream.c @@ -946,13 +946,14 @@ static void uv__write_callbacks(uv_stream_t* stream) { uv_handle_type uv__handle_type(int fd) { struct sockaddr_storage ss; + socklen_t sslen; socklen_t len; int type; memset(&ss, 0, sizeof(ss)); - len = sizeof(ss); + sslen = sizeof(ss); - if (getsockname(fd, (struct sockaddr*)&ss, &len)) + if (getsockname(fd, (struct sockaddr*)&ss, &sslen)) return UV_UNKNOWN_HANDLE; len = sizeof type; @@ -961,6 +962,14 @@ uv_handle_type uv__handle_type(int fd) { return UV_UNKNOWN_HANDLE; if (type == SOCK_STREAM) { +#if defined(_AIX) + /* on AIX the getsockname call returns an empty sa structure + * for sockets of type AF_UNIX. For all other types it will + * return a properly filled in structure. + */ + if (sslen == 0) + return UV_NAMED_PIPE; +#endif switch (ss.ss_family) { case AF_UNIX: return UV_NAMED_PIPE; @@ -1082,6 +1091,11 @@ static int uv__stream_recv_cmsg(uv_stream_t* stream, struct msghdr* msg) { } +#ifdef __clang__ +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wgnu-folding-constant" +#endif + static void uv__read(uv_stream_t* stream) { uv_buf_t buf; ssize_t nread; @@ -1187,6 +1201,10 @@ static void uv__read(uv_stream_t* stream) { } +#ifdef __clang__ +# pragma clang diagnostic pop +#endif + #undef UV__CMSG_FD_COUNT #undef UV__CMSG_FD_SIZE |