Merge pull request #4335 from cheatfate/i4334

Resolve #4334
This commit is contained in:
Dominik Picheta 2016-06-14 15:40:43 +01:00 • committed by GitHub
commit 9d91bdad2f

View file

@ -132,11 +132,12 @@ elif defined(linux):
s.fds[fd].events = events s.fds[fd].events = events
proc unregister*(s: var Selector, fd: SocketHandle) = proc unregister*(s: var Selector, fd: SocketHandle) =
if epoll_ctl(s.epollFD, EPOLL_CTL_DEL, fd, nil) != 0: if s.fds[fd].events != {}:
let err = osLastError() if epoll_ctl(s.epollFD, EPOLL_CTL_DEL, fd, nil) != 0:
if err.cint notin {ENOENT, EBADF}: let err = osLastError()
# TODO: Why do we sometimes get an EBADF? Is this normal? if err.cint notin {ENOENT, EBADF}:
raiseOSError(err) # TODO: Why do we sometimes get an EBADF? Is this normal?
raiseOSError(err)
s.fds.del(fd) s.fds.del(fd)
proc close*(s: var Selector) = proc close*(s: var Selector) =