]> Cypherpunks.ru repositories - gostls13.git/commit
runtime: move epoll syscalls to runtime/internal/syscall
authorAndrew Pogrebnoy <absourd.noise@gmail.com>
Mon, 1 Aug 2022 14:58:17 +0000 (17:58 +0300)
committerGopher Robot <gobot@golang.org>
Fri, 30 Sep 2022 17:35:24 +0000 (17:35 +0000)
commit4e6f963469d8f489586b2bf277af30e0fbfa1679
tree78a0af19244b856a0845b997d72324f16b6d0457
parent9e0149da3c25c3a2399e0f578549f252c186491c
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 <mpratt@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Run-TryBot: Michael Pratt <mpratt@google.com>
Auto-Submit: Michael Pratt <mpratt@google.com>
41 files changed:
src/runtime/defs2_linux.go
src/runtime/defs_linux.go
src/runtime/defs_linux_386.go
src/runtime/defs_linux_amd64.go
src/runtime/defs_linux_arm.go
src/runtime/defs_linux_arm64.go
src/runtime/defs_linux_loong64.go
src/runtime/defs_linux_mips64x.go
src/runtime/defs_linux_mipsx.go
src/runtime/defs_linux_ppc64.go
src/runtime/defs_linux_ppc64le.go
src/runtime/defs_linux_riscv64.go
src/runtime/defs_linux_s390x.go
src/runtime/export_linux_test.go
src/runtime/export_unix2_test.go [new file with mode: 0644]
src/runtime/export_unix_test.go
src/runtime/internal/syscall/defs_linux.go [new file with mode: 0644]
src/runtime/internal/syscall/defs_linux_386.go [new file with mode: 0644]
src/runtime/internal/syscall/defs_linux_amd64.go [new file with mode: 0644]
src/runtime/internal/syscall/defs_linux_arm.go [new file with mode: 0644]
src/runtime/internal/syscall/defs_linux_arm64.go [new file with mode: 0644]
src/runtime/internal/syscall/defs_linux_loong64.go [new file with mode: 0644]
src/runtime/internal/syscall/defs_linux_mips64x.go [new file with mode: 0644]
src/runtime/internal/syscall/defs_linux_mipsx.go [new file with mode: 0644]
src/runtime/internal/syscall/defs_linux_ppc64x.go [new file with mode: 0644]
src/runtime/internal/syscall/defs_linux_riscv64.go [new file with mode: 0644]
src/runtime/internal/syscall/defs_linux_s390x.go [new file with mode: 0644]
src/runtime/internal/syscall/syscall_linux.go
src/runtime/internal/syscall/syscall_linux_test.go [new file with mode: 0644]
src/runtime/netpoll_epoll.go
src/runtime/runtime_linux_test.go
src/runtime/sys_linux_386.s
src/runtime/sys_linux_amd64.s
src/runtime/sys_linux_arm.s
src/runtime/sys_linux_arm64.s
src/runtime/sys_linux_loong64.s
src/runtime/sys_linux_mips64x.s
src/runtime/sys_linux_mipsx.s
src/runtime/sys_linux_ppc64x.s
src/runtime/sys_linux_riscv64.s
src/runtime/sys_linux_s390x.s