diff --git a/select/select.py b/select/select.py index cf3f1a18..aee118db 100644 --- a/select/select.py +++ b/select/select.py @@ -37,6 +37,8 @@ class Epoll: retval = fd s = struct.pack(self.epoll_event, eventmask, retval) r = epoll_ctl(self.epfd, EPOLL_CTL_ADD, fd, s) + if r == -1 and os.errno.get() == 17: + r = epoll_ctl(self.epfd, EPOLL_CTL_MOD, fd, s) os.check_error(r) def poll(self, timeout=-1):