uv: upgrade to 5b8a112
This commit is contained in:
parent
c721604d25
commit
3644b0bc96
3
deps/uv/common.gypi
vendored
3
deps/uv/common.gypi
vendored
@ -32,6 +32,9 @@
|
|||||||
'LinkIncremental': 2, # enable incremental linking
|
'LinkIncremental': 2, # enable incremental linking
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
'xcode_settings': {
|
||||||
|
'GCC_OPTIMIZATION_LEVEL': '0',
|
||||||
|
},
|
||||||
'conditions': [
|
'conditions': [
|
||||||
['OS != "win"', {
|
['OS != "win"', {
|
||||||
'defines': [ 'EV_VERIFY=2' ],
|
'defines': [ 'EV_VERIFY=2' ],
|
||||||
|
8
deps/uv/src/unix/core.c
vendored
8
deps/uv/src/unix/core.c
vendored
@ -426,6 +426,11 @@ int uv__accept(int sockfd) {
|
|||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
#if __linux__
|
#if __linux__
|
||||||
|
static int no_accept4;
|
||||||
|
|
||||||
|
if (no_accept4)
|
||||||
|
goto skip;
|
||||||
|
|
||||||
peerfd = uv__accept4(sockfd,
|
peerfd = uv__accept4(sockfd,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
@ -439,6 +444,9 @@ int uv__accept(int sockfd) {
|
|||||||
|
|
||||||
if (errno != ENOSYS)
|
if (errno != ENOSYS)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
no_accept4 = 1;
|
||||||
|
skip:
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
peerfd = accept(sockfd, NULL, NULL);
|
peerfd = accept(sockfd, NULL, NULL);
|
||||||
|
26
deps/uv/src/unix/linux/syscalls.c
vendored
26
deps/uv/src/unix/linux/syscalls.c
vendored
@ -152,13 +152,25 @@
|
|||||||
|
|
||||||
int uv__accept4(int fd, struct sockaddr* addr, socklen_t* addrlen, int flags) {
|
int uv__accept4(int fd, struct sockaddr* addr, socklen_t* addrlen, int flags) {
|
||||||
#if __i386__
|
#if __i386__
|
||||||
unsigned long args[] = {
|
unsigned long args[4];
|
||||||
(unsigned long) fd,
|
int r;
|
||||||
(unsigned long) addr,
|
|
||||||
(unsigned long) addrlen,
|
args[0] = (unsigned long) fd;
|
||||||
(unsigned long) flags
|
args[1] = (unsigned long) addr;
|
||||||
};
|
args[2] = (unsigned long) addrlen;
|
||||||
return syscall(__NR_socketcall, 18 /* SYS_ACCEPT4 */, args);
|
args[3] = (unsigned long) flags;
|
||||||
|
|
||||||
|
r = syscall(__NR_socketcall, 18 /* SYS_ACCEPT4 */, args);
|
||||||
|
|
||||||
|
/* socketcall() raises EINVAL when SYS_ACCEPT4 is not supported but so does
|
||||||
|
* a bad flags argument. Try to distinguish between the two cases.
|
||||||
|
*/
|
||||||
|
if (r == -1)
|
||||||
|
if (errno == EINVAL)
|
||||||
|
if ((flags & ~(UV__SOCK_CLOEXEC|UV__SOCK_NONBLOCK)) == 0)
|
||||||
|
errno = ENOSYS;
|
||||||
|
|
||||||
|
return r;
|
||||||
#elif __NR_accept4
|
#elif __NR_accept4
|
||||||
return syscall(__NR_accept4, fd, addr, addrlen, flags);
|
return syscall(__NR_accept4, fd, addr, addrlen, flags);
|
||||||
#else
|
#else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user