From: Nick Mathewson Date: Sat, 13 Nov 2004 02:54:30 +0000 (+0000) Subject: Comment a confusing conditional X-Git-Tag: tor-0.0.9pre6~74 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0b42e31fe0699f9a47f13af24b6448eb94e31899;p=thirdparty%2Ftor.git Comment a confusing conditional svn:r2828 --- diff --git a/src/or/main.c b/src/or/main.c index 8402a68383..4654980e38 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -228,6 +228,16 @@ static void conn_read(int i) { /* see http://www.greenend.org.uk/rjk/2001/06/poll.html for * discussion of POLLIN vs POLLHUP */ 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) || !connection_has_pending_tls_data(conn)) return; /* this conn should not read */