summaryrefslogtreecommitdiff
path: root/vendor/github.com/tetratelabs/wazero/internal/sysfs/poll_linux.go
diff options
context:
space:
mode:
authorLibravatar Terin Stock <terinjokes@gmail.com>2025-03-09 17:47:56 +0100
committerLibravatar Terin Stock <terinjokes@gmail.com>2025-03-10 01:59:49 +0100
commit3ac1ee16f377d31a0fb80c8dae28b6239ac4229e (patch)
treef61faa581feaaeaba2542b9f2b8234a590684413 /vendor/github.com/tetratelabs/wazero/internal/sysfs/poll_linux.go
parent[chore] update URLs to forked source (diff)
downloadgotosocial-3ac1ee16f377d31a0fb80c8dae28b6239ac4229e.tar.xz
[chore] remove vendor
Diffstat (limited to 'vendor/github.com/tetratelabs/wazero/internal/sysfs/poll_linux.go')
-rw-r--r--vendor/github.com/tetratelabs/wazero/internal/sysfs/poll_linux.go59
1 files changed, 0 insertions, 59 deletions
diff --git a/vendor/github.com/tetratelabs/wazero/internal/sysfs/poll_linux.go b/vendor/github.com/tetratelabs/wazero/internal/sysfs/poll_linux.go
deleted file mode 100644
index 49bf4fd06..000000000
--- a/vendor/github.com/tetratelabs/wazero/internal/sysfs/poll_linux.go
+++ /dev/null
@@ -1,59 +0,0 @@
-//go:build !tinygo
-
-package sysfs
-
-import (
- "syscall"
- "time"
- "unsafe"
-
- "github.com/tetratelabs/wazero/experimental/sys"
-)
-
-// pollFd is the struct to query for file descriptor events using poll.
-type pollFd struct {
- // fd is the file descriptor.
- fd int32
- // events is a bitmap containing the requested events.
- events int16
- // revents is a bitmap containing the returned events.
- revents int16
-}
-
-// newPollFd is a constructor for pollFd that abstracts the platform-specific type of file descriptors.
-func newPollFd(fd uintptr, events, revents int16) pollFd {
- return pollFd{fd: int32(fd), events: events, revents: revents}
-}
-
-// _POLLIN subscribes a notification when any readable data is available.
-const _POLLIN = 0x0001
-
-// _poll implements poll on Linux via ppoll.
-func _poll(fds []pollFd, timeoutMillis int32) (n int, errno sys.Errno) {
- var ts syscall.Timespec
- if timeoutMillis >= 0 {
- ts = syscall.NsecToTimespec(int64(time.Duration(timeoutMillis) * time.Millisecond))
- }
- return ppoll(fds, &ts)
-}
-
-// ppoll is a poll variant that allows to subscribe to a mask of signals.
-// However, we do not need such mask, so the corresponding argument is always nil.
-func ppoll(fds []pollFd, timespec *syscall.Timespec) (n int, err sys.Errno) {
- var fdptr *pollFd
- nfd := len(fds)
- if nfd != 0 {
- fdptr = &fds[0]
- }
-
- n1, _, errno := syscall.Syscall6(
- uintptr(syscall.SYS_PPOLL),
- uintptr(unsafe.Pointer(fdptr)),
- uintptr(nfd),
- uintptr(unsafe.Pointer(timespec)),
- uintptr(unsafe.Pointer(nil)), // sigmask is currently always ignored
- uintptr(unsafe.Pointer(nil)),
- uintptr(unsafe.Pointer(nil)))
-
- return int(n1), sys.UnwrapOSError(errno)
-}