From 1c692bfb7926c0f28cf7f38ca7b49f4941fd2b90 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Fri, 22 Aug 2025 22:24:14 +0900 Subject: container/init: call lockOSThread through dispatcher This degrades test performance if not stubbed out. Signed-off-by: Ophestra --- container/dispatcher.go | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'container/dispatcher.go') diff --git a/container/dispatcher.go b/container/dispatcher.go index 2482f0b3..86837b9d 100644 --- a/container/dispatcher.go +++ b/container/dispatcher.go @@ -8,6 +8,7 @@ import ( "os/exec" "os/signal" "path/filepath" + "runtime" "syscall" "hakurei.app/container/seccomp" @@ -21,6 +22,9 @@ type osFile interface { // syscallDispatcher provides methods that make state-dependent system calls as part of their behaviour. type syscallDispatcher interface { + // lockOSThread provides [runtime.LockOSThread]. + lockOSThread() + // setPtracer provides [SetPtracer]. setPtracer(pid uintptr) error // setDumpable provides [SetDumpable]. @@ -136,6 +140,8 @@ type syscallDispatcher interface { // direct implements syscallDispatcher on the current kernel. type direct struct{} +func (direct) lockOSThread() { runtime.LockOSThread() } + func (direct) setPtracer(pid uintptr) error { return SetPtracer(pid) } func (direct) setDumpable(dumpable uintptr) error { return SetDumpable(dumpable) } func (direct) setNoNewPrivs() error { return SetNoNewPrivs() } -- cgit v1.3.1