Currently, golang.org/x/sys/unix only provides unix.EpollWait, which uses the epoll_wait syscall. However, this syscall is not permitted by Android's seccomp policy on amd64. This doesn't affect non-golang programs because bionic libc's epoll_wait function actually uses the epoll_pwait syscall:
https://android.googlesource.com/platform/bionic/+/refs/tags/android-17.0.0_r1/libc/bionic/sys_epoll.cpp#86
Would it be possible to define this package's EpollWait function in terms of the epoll_pwait syscall as well? I don't believe it should cause compatibility issues since it's been available since kernel 2.6.19.
Currently,
golang.org/x/sys/unixonly providesunix.EpollWait, which uses theepoll_waitsyscall. However, this syscall is not permitted by Android's seccomp policy on amd64. This doesn't affect non-golang programs because bionic libc'sepoll_waitfunction actually uses theepoll_pwaitsyscall:https://android.googlesource.com/platform/bionic/+/refs/tags/android-17.0.0_r1/libc/bionic/sys_epoll.cpp#86
Would it be possible to define this package's
EpollWaitfunction in terms of theepoll_pwaitsyscall as well? I don't believe it should cause compatibility issues since it's been available since kernel 2.6.19.