Suppress a spurious EPERM warning in epoll.c

It's okay for us to get an EPERM when doing an EPOLL_DEL on an fd; it
just means that before we got a chance to the EPOLL_DEL, we closed the
fd and reopened a new non-socket that wound up having the same fd.

Partial fix for Bug 3019973.
This commit is contained in:
Nick Mathewson 2010-07-08 14:41:02 -04:00
parent 61e1eeec6f
commit e73cbde15f

View File

@ -235,7 +235,8 @@ epoll_apply_changes(struct event_base *base)
*/
event_debug((" ADD was redundant"));
} else if (op == EPOLL_CTL_DEL &&
(errno == ENOENT || errno == EBADF)) {
(errno == ENOENT || errno == EBADF ||
errno == EPERM)) {
/* If a delete fails with one of these errors,
* that's fine too: we closed the fd before we
* got around to calling epoll_dispatch. */