rwcancel: use ppoll on Linux for Android
This is a temporary measure while we wait for https://go-review.googlesource.com/c/sys/+/352310 to land. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
parent
217ac1016b
commit
fcc601dbf0
3 changed files with 34 additions and 2 deletions
17
rwcancel/poll_linux.go
Normal file
17
rwcancel/poll_linux.go
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
/* SPDX-License-Identifier: MIT
|
||||
*
|
||||
* Copyright (C) 2017-2021 WireGuard LLC. All Rights Reserved.
|
||||
*/
|
||||
|
||||
package rwcancel
|
||||
|
||||
import "golang.org/x/sys/unix"
|
||||
|
||||
func poll(fds []unix.PollFd, timeout int) (n int, err error) {
|
||||
var ts *unix.Timespec
|
||||
if timeout >= 0 {
|
||||
ts = new(unix.Timespec)
|
||||
*ts = unix.NsecToTimespec(int64(timeout) * 1e6)
|
||||
}
|
||||
return unix.Ppoll(fds, ts, nil)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue