]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
clean up some more.
authorRoger Dingledine <arma@torproject.org>
Sun, 21 Nov 2004 11:20:28 +0000 (11:20 +0000)
committerRoger Dingledine <arma@torproject.org>
Sun, 21 Nov 2004 11:20:28 +0000 (11:20 +0000)
i think i'm getting closer.

svn:r2931

src/or/buffers.c
src/or/relay.c

index 7c230f0cf95ced677e786fd5594f7493c2550aa3..cf71c1045a1db917ed9d7ac7e3a5973e906345ed 100644 (file)
@@ -159,9 +159,9 @@ void buf_free(buf_t *buf) {
 }
 
 /** Read from socket <b>s</b>, writing onto end of <b>buf</b>.  Read at most
- * <b>at_most</b> bytes, resizing the buffer as necessary.  If read()
+ * <b>at_most</b> bytes, resizing the buffer as necessary.  If recv()
  * returns 0, set <b>*reached_eof</b> to 1 and return 0. Return -1 on error;
- * else return the number of bytes read.  Return 0 if read() would
+ * else return the number of bytes read.  Return 0 if recv() would
  * block.
  */
 int read_to_buf(int s, size_t at_most, buf_t *buf, int *reached_eof) {
index 01d8edf84fd773b875d909005460102349fda6fa..41c0bc77c97e0ae0ccdeb06f6b87eda6c1eb1673 100644 (file)
@@ -1009,7 +1009,7 @@ circuit_resume_edge_reading_helper(connection_t *conn,
 /** Check if the package window for <b>circ</b> is empty (at
  * hop <b>layer_hint</b> if it's defined).
  *
- * If yes, tell edge streams to stop reading and return -1.
+ * If yes, tell edge streams to stop reading and return 1.
  * Else return 0.
  */
 static int
@@ -1017,13 +1017,19 @@ circuit_consider_stop_edge_reading(circuit_t *circ, crypt_path_t *layer_hint)
 {
   connection_t *conn = NULL;
 
-  log_fn(LOG_DEBUG,"considering");
-  if(!layer_hint && circ->package_window <= 0) {
-    log_fn(LOG_DEBUG,"yes, not-at-origin. stopped.");
-    for(conn = circ->n_streams; conn; conn=conn->next_stream)
-      connection_stop_reading(conn);
-    return -1;
-  } else if(layer_hint && layer_hint->package_window <= 0) {
+  if (!layer_hint) {
+    log_fn(LOG_DEBUG,"considering circ->package_window %d", circ->package_window);
+    if (circ->package_window <= 0) {
+      log_fn(LOG_DEBUG,"yes, not-at-origin. stopped.");
+      for(conn = circ->n_streams; conn; conn=conn->next_stream)
+        connection_stop_reading(conn);
+      return 1;
+    }
+    return 0;
+  }
+  /* else, layer hint is defined, use it */
+  log_fn(LOG_DEBUG,"considering layer_hint->package_window %d", layer_hint->package_window);
+  if (layer_hint->package_window <= 0) {
     log_fn(LOG_DEBUG,"yes, at-origin. stopped.");
     for(conn = circ->n_streams; conn; conn=conn->next_stream)
       if(conn->cpath_layer == layer_hint)
@@ -1031,7 +1037,7 @@ circuit_consider_stop_edge_reading(circuit_t *circ, crypt_path_t *layer_hint)
     for(conn = circ->p_streams; conn; conn=conn->next_stream)
       if(conn->cpath_layer == layer_hint)
         connection_stop_reading(conn);
-    return -1;
+    return 1;
   }
   return 0;
 }