From c83d4fba0791927e9a0b66729ee886e0f8d15249 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 14 Oct 2022 16:19:11 -0700 Subject: [PATCH] os/signal: pass *int32 to ioctl that expects pid_t Fixes #56233 Change-Id: I1cf176bc2f39c5e41d5a390ec6893426cdd39be0 Reviewed-on: https://go-review.googlesource.com/c/go/+/443175 Run-TryBot: Ian Lance Taylor Reviewed-by: Joel Sing Reviewed-by: Bryan Mills TryBot-Result: Gopher Robot Reviewed-by: David Chase --- src/os/signal/signal_cgo_test.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/os/signal/signal_cgo_test.go b/src/os/signal/signal_cgo_test.go index 614d1490c5..5cfb00632d 100644 --- a/src/os/signal/signal_cgo_test.go +++ b/src/os/signal/signal_cgo_test.go @@ -21,14 +21,14 @@ import ( "runtime" "strconv" "syscall" - "unsafe" "testing" "time" + "unsafe" ) const ( - ptyFD = 3 // child end of pty. - controlFD = 4 // child end of control pipe. + ptyFD = 3 // child end of pty. + controlFD = 4 // child end of control pipe. ) // TestTerminalSignal tests that read from a pseudo-terminal does not return an @@ -279,7 +279,7 @@ func runSessionLeader(pause time.Duration) { } // Take TTY. - pgrp := syscall.Getpgrp() + pgrp := int32(syscall.Getpgrp()) // assume that pid_t is int32 _, _, 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) @@ -290,7 +290,7 @@ func runSessionLeader(pause time.Duration) { time.Sleep(pause) // Give TTY back. - pid := uint64(cmd.Process.Pid) + pid := int32(cmd.Process.Pid) // assume that pid_t is int32 _, _, errno = syscall.Syscall(syscall.SYS_IOCTL, ptyFD, syscall.TIOCSPGRP, uintptr(unsafe.Pointer(&pid))) if errno != 0 { return fmt.Errorf("error setting tty process group back: %w", errno) -- 2.50.0