diff options
Diffstat (limited to 'libgo/go/runtime/netpoll_kqueue.go')
-rw-r--r-- | libgo/go/runtime/netpoll_kqueue.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libgo/go/runtime/netpoll_kqueue.go b/libgo/go/runtime/netpoll_kqueue.go index 4ea3ac9..ce1acdf 100644 --- a/libgo/go/runtime/netpoll_kqueue.go +++ b/libgo/go/runtime/netpoll_kqueue.go @@ -118,7 +118,12 @@ retry: mode += 'w' } if mode != 0 { - netpollready(&toRun, (*pollDesc)(unsafe.Pointer(ev.udata)), mode) + pd := (*pollDesc)(unsafe.Pointer(ev.udata)) + pd.everr = false + if ev.flags == _EV_ERROR { + pd.everr = true + } + netpollready(&toRun, pd, mode) } } if block && toRun.empty() { |