Skip to content

Commit

Permalink
linux: fix epoll_pwait() fallback on arm64
Browse files Browse the repository at this point in the history
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: libuv/libuv#308
PR-URL: #1365
Reviewed-By: Fedor Indutny <fedor@indutny.com>
  • Loading branch information
bnoordhuis committed Apr 7, 2015
1 parent 3066f2c commit 264a8f3
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion deps/uv/src/unix/linux-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -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),
Expand Down

0 comments on commit 264a8f3

Please sign in to comment.