aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/runtime/runtime-gdb_test.go6
-rw-r--r--src/runtime/testdata/testprogcgo/eintr.go3
2 files changed, 8 insertions, 1 deletions
diff --git a/src/runtime/runtime-gdb_test.go b/src/runtime/runtime-gdb_test.go
index 2818ada3e0..7cfd5b95dd 100644
--- a/src/runtime/runtime-gdb_test.go
+++ b/src/runtime/runtime-gdb_test.go
@@ -19,6 +19,12 @@ import (
"testing"
)
+// NOTE: In some configurations, GDB will segfault when sent a SIGWINCH signal.
+// Some runtime tests send SIGWINCH to the entire process group, so those tests
+// must never run in parallel with GDB tests.
+//
+// See issue 39021 and https://sourceware.org/bugzilla/show_bug.cgi?id=26056.
+
func checkGdbEnvironment(t *testing.T) {
testenv.MustHaveGoBuild(t)
switch runtime.GOOS {
diff --git a/src/runtime/testdata/testprogcgo/eintr.go b/src/runtime/testdata/testprogcgo/eintr.go
index 9d9435d9a6..791ff1bedc 100644
--- a/src/runtime/testdata/testprogcgo/eintr.go
+++ b/src/runtime/testdata/testprogcgo/eintr.go
@@ -89,8 +89,9 @@ func spin() (float64, []byte) {
func winch() {
ticker := time.NewTicker(100 * time.Microsecond)
defer ticker.Stop()
+ pid := syscall.Getpid()
for n := 10; n > 0; n-- {
- syscall.Kill(0, syscall.SIGWINCH)
+ syscall.Kill(pid, syscall.SIGWINCH)
<-ticker.C
}
}