aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/internal/syscall/syscall_linux.go
diff options
context:
space:
mode:
authorAndy Pan <panjf2000@gmail.com>2024-02-02 11:22:57 +0800
committerGopher Robot <gobot@golang.org>2024-02-20 14:59:49 +0000
commitd068c2cb620c1daeedc8b9cce488af45a6c2c889 (patch)
tree5753e3ea0028adaa934cb32f2be479f3f6e2cd53 /src/runtime/internal/syscall/syscall_linux.go
parentc4d55ab91260ca2d538fcf3dadbccc1d1c111c96 (diff)
downloadgo-d068c2cb620c1daeedc8b9cce488af45a6c2c889.tar.xz
runtime: use eventfd as the event wait/notify mechanism for epoll
Fixes #65443 Change-Id: I9ad4689b36e87ee930d35a38322a8797896483b4 Reviewed-on: https://go-review.googlesource.com/c/go/+/560615 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Than McIntosh <thanm@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Jorropo <jorropo.pgm@gmail.com> Reviewed-by: Ian Lance Taylor <iant@google.com>
Diffstat (limited to 'src/runtime/internal/syscall/syscall_linux.go')
-rw-r--r--src/runtime/internal/syscall/syscall_linux.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/runtime/internal/syscall/syscall_linux.go b/src/runtime/internal/syscall/syscall_linux.go
index 7209634edb..cb88659394 100644
--- a/src/runtime/internal/syscall/syscall_linux.go
+++ b/src/runtime/internal/syscall/syscall_linux.go
@@ -60,3 +60,8 @@ func EpollCtl(epfd, op, fd int32, event *EpollEvent) (errno uintptr) {
_, _, e := Syscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)
return e
}
+
+func Eventfd(initval, flags int32) (fd int32, errno uintptr) {
+ r1, _, e := Syscall6(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0, 0, 0, 0)
+ return int32(r1), e
+}