mirror of
https://github.com/golang/go
synced 2024-11-19 12:34:47 -07:00
runtime: "fix" non-preemptible loop in TestParallelRWMutexReaders
TestParallelRWMutexReaders has a non-preemptible loop in it that can deadlock if GC triggers. "Fix" it like we've fixed similar tests. Updates #10958. Change-Id: I13618f522f5ef0c864e7171ad2f655edececacd7 Reviewed-on: https://go-review.googlesource.com/73710 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
4d8d138318
commit
da95254d1a
@ -12,6 +12,7 @@ package runtime_test
|
||||
import (
|
||||
"fmt"
|
||||
. "runtime"
|
||||
"runtime/debug"
|
||||
"sync/atomic"
|
||||
"testing"
|
||||
)
|
||||
@ -47,6 +48,10 @@ func doTestParallelReaders(numReaders int) {
|
||||
|
||||
func TestParallelRWMutexReaders(t *testing.T) {
|
||||
defer GOMAXPROCS(GOMAXPROCS(-1))
|
||||
// If runtime triggers a forced GC during this test then it will deadlock,
|
||||
// since the goroutines can't be stopped/preempted.
|
||||
// Disable GC for this test (see issue #10958).
|
||||
defer debug.SetGCPercent(debug.SetGCPercent(-1))
|
||||
doTestParallelReaders(1)
|
||||
doTestParallelReaders(3)
|
||||
doTestParallelReaders(4)
|
||||
|
Loading…
Reference in New Issue
Block a user