From: Ian Lance Taylor Date: Fri, 14 Oct 2022 23:19:11 +0000 (-0700) Subject: os/signal: pass *int32 to ioctl that expects pid_t X-Git-Tag: go1.20rc1~614 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=c83d4fba0791927e9a0b66729ee886e0f8d15249;p=gostls13.git 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 --- 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)