From 264a8f3a1b1a46d813d244e811a6f6d12ad513ac Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Tue, 7 Apr 2015 14:22:50 +0200 Subject: linux: fix epoll_pwait() fallback on arm64 arm64 doesn't have a epoll_wait() system call but a logic error stopped libuv from falling back to epoll_pwait(). This bug was introduced in commit libuv/libuv@67bb2b5 ("linux: fix epoll_pwait() regression with < 2.6.19") which sadly exchanged one regression for another. This commit is a back-port of libuv/libuv@1d8332f and should help get the ARMv8 buildbot in better shape. Original-PR-URL: https://github.com/libuv/libuv/pull/308 PR-URL: https://github.com/iojs/io.js/pull/1365 Reviewed-By: Fedor Indutny --- deps/uv/src/unix/linux-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'deps') diff --git a/deps/uv/src/unix/linux-core.c b/deps/uv/src/unix/linux-core.c index c1be21a8b4..33a735dc67 100644 --- a/deps/uv/src/unix/linux-core.c +++ b/deps/uv/src/unix/linux-core.c @@ -210,7 +210,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { if (pthread_sigmask(SIG_BLOCK, &sigset, NULL)) abort(); - if (sigmask != 0 && no_epoll_pwait == 0) { + if (no_epoll_wait != 0 || (sigmask != 0 && no_epoll_pwait == 0)) { nfds = uv__epoll_pwait(loop->backend_fd, events, ARRAY_SIZE(events), -- cgit v1.2.3