From 0aa21972792e2888c9d7a16eaace9724fc8655e4 Mon Sep 17 00:00:00 2001 From: Joel Sing Date: Sun, 29 Oct 2023 02:07:01 +1100 Subject: [PATCH] os/signal: use syscall.Wait4 directly in tests Rather than using syscall.Syscall6 with SYS_WAIT4, use syscall.Wait4 directly. Updates #59667 Change-Id: I50fea3b7d10003dbc632aafd5e170a9fe96d6f42 Reviewed-on: https://go-review.googlesource.com/c/go/+/538459 Run-TryBot: Joel Sing Reviewed-by: Bryan Mills Reviewed-by: Cherry Mui TryBot-Result: Gopher Robot --- src/os/signal/signal_cgo_test.go | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/os/signal/signal_cgo_test.go b/src/os/signal/signal_cgo_test.go index 9e9a9fe526..0aaf38c221 100644 --- a/src/os/signal/signal_cgo_test.go +++ b/src/os/signal/signal_cgo_test.go @@ -288,15 +288,14 @@ func runSessionLeader(t *testing.T, pause time.Duration) { // Wait for stop. var status syscall.WaitStatus - var errno syscall.Errno for { - _, _, errno = syscall.Syscall6(syscall.SYS_WAIT4, uintptr(cmd.Process.Pid), uintptr(unsafe.Pointer(&status)), syscall.WUNTRACED, 0, 0, 0) - if errno != syscall.EINTR { + _, err = syscall.Wait4(cmd.Process.Pid, &status, syscall.WUNTRACED, nil) + if err != syscall.EINTR { break } } - if errno != 0 { - return fmt.Errorf("error waiting for stop: %w", errno) + if err != nil { + return fmt.Errorf("error waiting for stop: %w", err) } if !status.Stopped() { @@ -305,7 +304,7 @@ func runSessionLeader(t *testing.T, pause time.Duration) { // Take TTY. pgrp := int32(syscall.Getpgrp()) // assume that pid_t is int32 - _, _, errno = syscall.Syscall(syscall.SYS_IOCTL, ptyFD, syscall.TIOCSPGRP, uintptr(unsafe.Pointer(&pgrp))) + _, _, errno := syscall.Syscall(syscall.SYS_IOCTL, ptyFD, syscall.TIOCSPGRP, uintptr(unsafe.Pointer(&pgrp))) if errno != 0 { return fmt.Errorf("error setting tty process group: %w", errno) }