From 3d7463d2b3183b3eb656271a75c14e34d771b3f9 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 7 Oct 2003 21:16:04 +0000 Subject: Clear revents even when no events are received. Also, since everyone gets in exceptions, everyone gets to increment maxfd. svn:r550 --- src/common/fakepoll.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/common/fakepoll.c b/src/common/fakepoll.c index bfe707d39..cca6e4421 100644 --- a/src/common/fakepoll.c +++ b/src/common/fakepoll.c @@ -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)) -- cgit v1.2.3