From 4e993b48c8f5c1357c5d3d3315eb4b0ffac7c00b Mon Sep 17 00:00:00 2001 From: Ophestra Date: Sun, 18 Oct 2026 19:52:46 +0900 Subject: internal/testsuite: lock tracer thread This avoids getting the goroutine preempted and scheduled onto a thread other than the tracer. Signed-off-by: Ophestra --- internal/testsuite/ptrace.go | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'internal/testsuite') diff --git a/internal/testsuite/ptrace.go b/internal/testsuite/ptrace.go index b35816ec..d7abd0aa 100644 --- a/internal/testsuite/ptrace.go +++ b/internal/testsuite/ptrace.go @@ -6,6 +6,7 @@ import ( "errors" "fmt" "os" + "runtime" "syscall" "unsafe" ) @@ -113,6 +114,9 @@ func getFilter(pid, index int) ([]syscall.SockFilter, error) { // CheckFilter checks the process at pid to have its first filter's contents // match the specified sha512 checksum. func CheckFilter(pid, index int, sum [sha512.Size]byte) (err error) { + runtime.LockOSThread() + defer runtime.UnlockOSThread() + if err = ptraceAttach(pid); err != nil { return } -- cgit v1.3.1