aboutsummaryrefslogtreecommitdiff
path: root/libgo/go/runtime/netpoll_kqueue.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/runtime/netpoll_kqueue.go')
-rw-r--r--libgo/go/runtime/netpoll_kqueue.go7
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() {