From: Joel Sing Date: Sat, 28 Oct 2023 15:07:01 +0000 (+1100) Subject: os/signal: use syscall.Wait4 directly in tests X-Git-Tag: go1.22rc1~466 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=0aa21972792e2888c9d7a16eaace9724fc8655e4;p=gostls13.git 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 --- 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) }