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
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -49,9 +49,9 @@ 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) 
                if (fd > maxfd) {
                  maxfd = fd;
#ifdef MS_WINDOWS
                  any_fds_set = 1;
@@ -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))