From: Cuong Manh Le Date: Wed, 17 Aug 2022 09:27:01 +0000 (+0700) Subject: runtime: convert netpoll netpollInited to atomic type X-Git-Tag: go1.20rc1~1586 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=dea67a9b342ff5205e780b2d4e7d7671df301ba2;p=gostls13.git runtime: convert netpoll netpollInited to atomic type Updates #53821 Change-Id: Ifa2e5f5d4047117b1887c1e56851355547bb4f33 Reviewed-on: https://go-review.googlesource.com/c/go/+/423881 TryBot-Result: Gopher Robot Run-TryBot: Cuong Manh Le Reviewed-by: Keith Randall Auto-Submit: Cuong Manh Le Reviewed-by: Michael Pratt --- diff --git a/src/runtime/netpoll.go b/src/runtime/netpoll.go index ac6bc89530..7933f36db7 100644 --- a/src/runtime/netpoll.go +++ b/src/runtime/netpoll.go @@ -177,7 +177,7 @@ type pollCache struct { var ( netpollInitLock mutex - netpollInited uint32 + netpollInited atomic.Uint32 pollcache pollCache netpollWaiters uint32 @@ -189,19 +189,19 @@ func poll_runtime_pollServerInit() { } func netpollGenericInit() { - if atomic.Load(&netpollInited) == 0 { + if netpollInited.Load() == 0 { lockInit(&netpollInitLock, lockRankNetpollInit) lock(&netpollInitLock) - if netpollInited == 0 { + if netpollInited.Load() == 0 { netpollinit() - atomic.Store(&netpollInited, 1) + netpollInited.Store(1) } unlock(&netpollInitLock) } } func netpollinited() bool { - return atomic.Load(&netpollInited) != 0 + return netpollInited.Load() != 0 } //go:linkname poll_runtime_isPollServerDescriptor internal/poll.runtime_isPollServerDescriptor diff --git a/src/runtime/netpoll_stub.go b/src/runtime/netpoll_stub.go index d0a63bca86..5860e1db03 100644 --- a/src/runtime/netpoll_stub.go +++ b/src/runtime/netpoll_stub.go @@ -8,7 +8,7 @@ package runtime import "runtime/internal/atomic" -var netpollInited uint32 +var netpollInited atomic.Uint32 var netpollWaiters uint32 var netpollStubLock mutex @@ -19,7 +19,7 @@ var netpollBrokenLock mutex var netpollBroken bool func netpollGenericInit() { - atomic.Store(&netpollInited, 1) + netpollInited.Store(1) } func netpollBreak() { @@ -57,5 +57,5 @@ func netpoll(delay int64) gList { } func netpollinited() bool { - return atomic.Load(&netpollInited) != 0 + return netpollInited.Load() != 0 } diff --git a/src/runtime/time.go b/src/runtime/time.go index 80b0bfb72c..a4bbc53cfa 100644 --- a/src/runtime/time.go +++ b/src/runtime/time.go @@ -289,7 +289,7 @@ func addtimer(t *timer) { func doaddtimer(pp *p, t *timer) { // Timers rely on the network poller, so make sure the poller // has started. - if netpollInited == 0 { + if netpollInited.Load() == 0 { netpollGenericInit() }