From 4e6f963469d8f489586b2bf277af30e0fbfa1679 Mon Sep 17 00:00:00 2001 From: Andrew Pogrebnoy Date: Mon, 1 Aug 2022 17:58:17 +0300 Subject: runtime: move epoll syscalls to runtime/internal/syscall This change moves Linux epoll's syscalls implementation to the "runtime/internal/syscall" package. The intention in this CL was to minimise behavioural changes but make the code more generalised. This also will allow adding new syscalls (like epoll_pwait2) without the need to implement assembly stubs for each arch. It also drops epoll_create as not all architectures provide this call. epoll_create1 was added to the kernel in version 2.6.27 and Go requires Linux kernel version 2.6.32 or later since Go 1.18. So it is safe to always use epoll_create1. For #53824 For #51087 Change-Id: I9a6a26b7f2075a38e041de1bab4691da0ecb94fc Reviewed-on: https://go-review.googlesource.com/c/go/+/421994 Reviewed-by: Michael Pratt TryBot-Result: Gopher Robot Reviewed-by: Dmitri Shuralyov Run-TryBot: Michael Pratt Auto-Submit: Michael Pratt --- src/runtime/export_linux_test.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'src/runtime/export_linux_test.go') diff --git a/src/runtime/export_linux_test.go b/src/runtime/export_linux_test.go index dea94a934c..a441c0efa2 100644 --- a/src/runtime/export_linux_test.go +++ b/src/runtime/export_linux_test.go @@ -6,19 +6,17 @@ package runtime -import "unsafe" +import ( + "runtime/internal/syscall" +) const SiginfoMaxSize = _si_max_size const SigeventMaxSize = _sigev_max_size +var Closeonexec = syscall.CloseOnExec var NewOSProc0 = newosproc0 var Mincore = mincore var Add = add -type EpollEvent epollevent type Siginfo siginfo type Sigevent sigevent - -func Epollctl(epfd, op, fd int32, ev unsafe.Pointer) int32 { - return epollctl(epfd, op, fd, (*epollevent)(ev)) -} -- cgit v1.3