]> granicus.if.org Git - libevent/commit
poll: Prevent libevent from spinning if POLLNVAL occurs
authorTim Hentenaar <tim@hentenaar.com>
Thu, 14 Jul 2016 13:45:01 +0000 (15:45 +0200)
committerAzat Khuzhin <a3at.mail@gmail.com>
Fri, 4 Nov 2016 00:28:08 +0000 (03:28 +0300)
commit675974ce30591e9cdbebeead65e63eec9772ee90
tree660f8f6be2f9d99c1f1c84ea82bec691dde05229
parent9ac000c724d208ed03f446539259424a5d6c96c2
poll: Prevent libevent from spinning if POLLNVAL occurs

This can happen, for example if libevent is being used to poll fds given
by another library where the other library closes the fds without
notifying the program using it that said fds were closed. In this case,
libevent will simply spin on poll() since there are active fds, but
won't call any event callback to handle the condition.

In epoll case after socket closed it automatically removed from epfd, so
IOW it will not spin in epoll* API, just a timeout.

Fixes: #379
poll.c