diff options
Diffstat (limited to 'src/runtime/netpoll_kqueue.go')
| -rw-r--r-- | src/runtime/netpoll_kqueue.go | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/runtime/netpoll_kqueue.go b/src/runtime/netpoll_kqueue.go index ca7898205e..db4dddc2fe 100644 --- a/src/runtime/netpoll_kqueue.go +++ b/src/runtime/netpoll_kqueue.go @@ -129,10 +129,11 @@ retry: ev := &events[i] if isWakeup(ev) { - if delay != 0 { + isBlocking := delay != 0 + processWakeupEvent(kq, isBlocking) + if isBlocking { // netpollBreak could be picked up by a nonblocking poll. - // Only call drainWakeupEvent and reset the netpollWakeSig if blocking. - drainWakeupEvent(kq) + // Only reset the netpollWakeSig if blocking. netpollWakeSig.Store(0) } continue |
