kqueue: ignore ENOENT error
File descriptor might be closed during callback, all events that was reported before the callback are not valid and trying to remove them will result in ENOENT. This error can be safely ignored.
This commit is contained in:
parent
273cecc56f
commit
b86ed94940
@ -197,7 +197,9 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
|
||||
/* TODO batch up */
|
||||
struct kevent events[1];
|
||||
EV_SET(events + 0, fd, ev->filter, EV_DELETE, 0, 0, 0);
|
||||
if (kevent(loop->backend_fd, events, 1, NULL, 0, NULL)) abort();
|
||||
if (kevent(loop->backend_fd, events, 1, NULL, 0, NULL))
|
||||
if (errno != ENOENT)
|
||||
abort();
|
||||
}
|
||||
}
|
||||
|
||||
@ -208,7 +210,9 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
|
||||
/* TODO batch up */
|
||||
struct kevent events[1];
|
||||
EV_SET(events + 0, fd, ev->filter, EV_DELETE, 0, 0, 0);
|
||||
if (kevent(loop->backend_fd, events, 1, NULL, 0, NULL)) abort();
|
||||
if (kevent(loop->backend_fd, events, 1, NULL, 0, NULL))
|
||||
if (errno != ENOENT)
|
||||
abort();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user