Commit 3d7463d2 authored by Nick Mathewson's avatar Nick Mathewson
Browse files

Clear revents even when no events are received. Also, since everyone gets in...

Clear revents even when no events are received.  Also, since everyone gets in exceptions, everyone gets to increment maxfd.


svn:r550
parent 74e6c03c
......@@ -49,12 +49,12 @@ poll(struct pollfd *ufds, unsigned int nfds, int timeout)
maxfd = -1;
for (idx = 0; idx < nfds; ++idx) {
ufds[idx].revents = 0;
fd = ufds[idx].fd;
if (ufds[idx].events) {
if (fd > maxfd)
maxfd = fd;
if (fd > maxfd) {
maxfd = fd;
#ifdef MS_WINDOWS
any_fds_set = 1;
any_fds_set = 1;
#endif
}
if (ufds[idx].events & POLLIN)
......@@ -76,7 +76,6 @@ poll(struct pollfd *ufds, unsigned int nfds, int timeout)
r = 0;
for (idx = 0; idx < nfds; ++idx) {
fd = ufds[idx].fd;
ufds[idx].revents = 0;
if (FD_ISSET(fd, &readfds))
ufds[idx].revents |= POLLIN;
if (FD_ISSET(fd, &writefds))
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment