summaryrefslogtreecommitdiffstats
path: root/rwcancel/poll_linux.go
diff options
context:
space:
mode:
Diffstat (limited to 'rwcancel/poll_linux.go')
-rw-r--r--rwcancel/poll_linux.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/rwcancel/poll_linux.go b/rwcancel/poll_linux.go
new file mode 100644
index 0000000..d9938c5
--- /dev/null
+++ b/rwcancel/poll_linux.go
@@ -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)
+}