Browse Source

Comment a confusing conditional

svn:r2828
Nick Mathewson 21 years ago
parent
commit
0b42e31fe0
1 changed files with 10 additions and 0 deletions
  1. 10 0
      src/or/main.c

+ 10 - 0
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 */