]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: convert netpoll netpollInited to atomic type
authorCuong Manh Le <cuong.manhle.vn@gmail.com>
Wed, 17 Aug 2022 09:27:01 +0000 (16:27 +0700)
committerCuong Manh Le <cuong.manhle.vn@gmail.com>
Wed, 17 Aug 2022 17:40:05 +0000 (17:40 +0000)
Updates #53821

Change-Id: Ifa2e5f5d4047117b1887c1e56851355547bb4f33
Reviewed-on: https://go-review.googlesource.com/c/go/+/423881
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Reviewed-by: Keith Randall <khr@google.com>
Auto-Submit: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
src/runtime/netpoll.go
src/runtime/netpoll_stub.go
src/runtime/time.go

index ac6bc89530ed7e350f1f9437aa9fb80219ba178f..7933f36db7035e9613a16f90d5fcc710d9858af2 100644 (file)
@@ -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
index d0a63bca866f66680cd80ac2c762a693ab0d9f1d..5860e1db03e5f05252c404e9ff8e8b1c6caae372 100644 (file)
@@ -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
 }
index 80b0bfb72c26eaa42f05e7d419d9b58199b8241e..a4bbc53cfa4748ef9b8e39ce733fac91b675d19b 100644 (file)
@@ -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()
        }