]> Cypherpunks repositories - gostls13.git/commitdiff
misc/cgo/test: further reduce likeliness of hang in Test9400
authorPaul E. Murphy <murp@ibm.com>
Fri, 19 Nov 2021 22:33:42 +0000 (16:33 -0600)
committerPaul Murphy <murp@ibm.com>
Tue, 30 Nov 2021 20:04:58 +0000 (20:04 +0000)
As suggested by #49680, a GC could be in-progress when we
disable GC. Force a GC after we pause to ensure we don't
hang in this case.

For #49695

Change-Id: I4fc4c06ef2ac174217c3dcf7d58c7669226e2d24
Reviewed-on: https://go-review.googlesource.com/c/go/+/367874
Run-TryBot: Paul Murphy <murp@ibm.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Trust: Paul Murphy <murp@ibm.com>

misc/cgo/test/testdata/issue9400_linux.go

index f521b1f49a5e6ae851cc657d0a1233e99c5138b8..47f224dc4fbb6366b815b0251c485b5cb4cf77c5 100644 (file)
@@ -50,6 +50,8 @@ func test9400(t *testing.T) {
        // Disable GC for the duration of the test.
        // This avoids a potential GC deadlock when spinning in uninterruptable ASM below #49695.
        defer debug.SetGCPercent(debug.SetGCPercent(-1))
+       // And finish any pending GC after we pause, if any.
+       runtime.GC()
 
        // Temporarily rewind the stack and trigger SIGSETXID
        issue9400.RewindAndSetgid()