diff options
author | Andy Pan <panjf2000@gmail.com> | 2022-07-25 12:32:24 +0800 |
---|---|---|
committer | Michael Knyszek <mknyszek@google.com> | 2022-08-09 13:23:50 +0000 |
commit | ffe5f085cd8b289a7853fcdb3c26adbebda09fd6 (patch) | |
tree | ef5c6a837de114e1aef48a4d655a1717ed0043a2 /src/runtime/netpoll_aix.go | |
parent | 13bd6ddbe7a4fb24448546545da5df999267eb4e (diff) | |
download | go-ffe5f085cd8b289a7853fcdb3c26adbebda09fd6.tar.gz go-ffe5f085cd8b289a7853fcdb3c26adbebda09fd6.zip |
runtime: refine code reducing indents in netpollBreak()
Change-Id: I2d1528910cb3660344c7a664d6f32306defe75d3
Reviewed-on: https://go-review.googlesource.com/c/go/+/419321
Reviewed-by: Michael Pratt <mpratt@google.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Michael Pratt <mpratt@google.com>
Diffstat (limited to 'src/runtime/netpoll_aix.go')
-rw-r--r-- | src/runtime/netpoll_aix.go | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/runtime/netpoll_aix.go b/src/runtime/netpoll_aix.go index 22cc513881..5247e56373 100644 --- a/src/runtime/netpoll_aix.go +++ b/src/runtime/netpoll_aix.go @@ -135,10 +135,13 @@ func netpollarm(pd *pollDesc, mode int) { // netpollBreak interrupts a poll. func netpollBreak() { - if atomic.Cas(&netpollWakeSig, 0, 1) { - b := [1]byte{0} - write(uintptr(wrwake), unsafe.Pointer(&b[0]), 1) + // Failing to cas indicates there is an in-flight wakeup, so we're done here. + if !atomic.Cas(&netpollWakeSig, 0, 1) { + return } + + b := [1]byte{0} + write(uintptr(wrwake), unsafe.Pointer(&b[0]), 1) } // netpoll checks for ready network connections. |