diff options
| author | Michael Anthony Knyszek <mknyszek@google.com> | 2025-07-09 15:50:06 +0000 |
|---|---|---|
| committer | Michael Knyszek <mknyszek@google.com> | 2025-07-09 13:34:08 -0700 |
| commit | 8131635e5a9c7ae2fd2c083bed9e841d27226500 (patch) | |
| tree | 393d115b7bf91237e227828c5f5f9c44dda0ecd7 /src/testing/synctest/example_test.go | |
| parent | 67c1704444ba9661699a80d0ea0a2df20b4107e2 (diff) | |
| download | go-8131635e5a9c7ae2fd2c083bed9e841d27226500.tar.xz | |
runtime: run TestSignalDuringExec in its own process group
TestSignalDuringExec sends a SIGWINCH to the whole process group.
However, it may execute concurrently with other copies of the runtime
tests, especially through `go tool dist`, and gdb version <12.1 has a
bug in non-interactive mode where recieving a SIGWINCH causes a crash.
This change modifies SignalDuringExec in the testprog to first fork
itself into a new process group. To avoid issues with Ctrl+C and the new
process group hanging, the new process blocks on a pipe that is passed
down to it. This pipe is automatically closed when its parent exits,
which should ensure that the subprocess also exits.
Fixes #58932.
Change-Id: I3906afa28cf8b15d22ae612d071bce7f30fc3e6c
Cq-Include-Trybots: luci.golang.try:gotip-linux-amd64-longtest-noswissmap,gotip-linux-amd64-longtest-aliastypeparams,gotip-linux-amd64-longtest,gotip-linux-386-longtest
Reviewed-on: https://go-review.googlesource.com/c/go/+/686875
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Diffstat (limited to 'src/testing/synctest/example_test.go')
0 files changed, 0 insertions, 0 deletions
