From 02700e55a57647c837618d713102c8f8214657d8 Mon Sep 17 00:00:00 2001 From: cuiweixie Date: Fri, 2 Sep 2022 10:37:16 +0800 Subject: [PATCH] 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 --- src/runtime/rwmutex_test.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 -- 2.50.0