Comment a confusing conditional

svn:r2828
This commit is contained in:
Nick Mathewson 2004-11-13 02:54:30 +00:00
parent 8fd6d0e3f3
commit 0b42e31fe0

View File

@ -228,6 +228,16 @@ static void conn_read(int i) {
/* see http://www.greenend.org.uk/rjk/2001/06/poll.html for /* see http://www.greenend.org.uk/rjk/2001/06/poll.html for
* discussion of POLLIN vs POLLHUP */ * discussion of POLLIN vs POLLHUP */
if(!(poll_array[i].revents & (POLLIN|POLLHUP|POLLERR))) if(!(poll_array[i].revents & (POLLIN|POLLHUP|POLLERR)))
/* Sometimes read events get triggered for things that didn't ask
* for them (XXX due to unknown poll wonkiness) and sometime we
* want to read even though there was no read event (due to
* pending TLS data).
*/
/* XXX Post 0.0.9, we should rewrite this whole if statement;
* something sane may result. Nick suspects that the || below
* should be a &&.
*/
if(!connection_is_reading(conn) || if(!connection_is_reading(conn) ||
!connection_has_pending_tls_data(conn)) !connection_has_pending_tls_data(conn))
return; /* this conn should not read */ return; /* this conn should not read */