From: cuiweixie Date: Fri, 2 Sep 2022 02:37:16 +0000 (+0800) Subject: runtime: convert local var cunlock at doTestParallelReaders to atomic type X-Git-Tag: go1.20rc1~1218 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=02700e55a57647c837618d713102c8f8214657d8;p=gostls13.git runtime: convert local var cunlock at doTestParallelReaders to atomic type For #53821 Change-Id: I17440ea30827976a8d3755851a2496f26aea13b1 Reviewed-on: https://go-review.googlesource.com/c/go/+/427137 TryBot-Result: Gopher Robot Run-TryBot: xie cui <523516579@qq.com> Reviewed-by: Michael Knyszek Reviewed-by: Heschi Kreinick --- diff --git a/src/runtime/rwmutex_test.go b/src/runtime/rwmutex_test.go index f15d367b32..ddb16aead4 100644 --- a/src/runtime/rwmutex_test.go +++ b/src/runtime/rwmutex_test.go @@ -17,10 +17,10 @@ import ( "testing" ) -func parallelReader(m *RWMutex, clocked chan bool, cunlock *uint32, cdone chan bool) { +func parallelReader(m *RWMutex, clocked chan bool, cunlock *atomic.Bool, cdone chan bool) { m.RLock() clocked <- true - for atomic.LoadUint32(cunlock) == 0 { + for !cunlock.Load() { } m.RUnlock() cdone <- true @@ -30,7 +30,7 @@ func doTestParallelReaders(numReaders int) { GOMAXPROCS(numReaders + 1) var m RWMutex clocked := make(chan bool, numReaders) - var cunlock uint32 + var cunlock atomic.Bool cdone := make(chan bool) for i := 0; i < numReaders; i++ { go parallelReader(&m, clocked, &cunlock, cdone) @@ -39,7 +39,7 @@ func doTestParallelReaders(numReaders int) { for i := 0; i < numReaders; i++ { <-clocked } - atomic.StoreUint32(&cunlock, 1) + cunlock.Store(true) // Wait for the goroutines to finish. for i := 0; i < numReaders; i++ { <-cdone