From: Roger Dingledine Date: Sun, 21 Nov 2004 11:20:28 +0000 (+0000) Subject: clean up some more. X-Git-Tag: tor-0.0.9rc1~26 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=27b87972451325d76fbbcd6ac516427052b097ec;p=thirdparty%2Ftor.git clean up some more. i think i'm getting closer. svn:r2931 --- diff --git a/src/or/buffers.c b/src/or/buffers.c index 7c230f0cf9..cf71c1045a 100644 --- a/src/or/buffers.c +++ b/src/or/buffers.c @@ -159,9 +159,9 @@ void buf_free(buf_t *buf) { } /** Read from socket s, writing onto end of buf. Read at most - * at_most bytes, resizing the buffer as necessary. If read() + * at_most bytes, resizing the buffer as necessary. If recv() * returns 0, set *reached_eof 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) { diff --git a/src/or/relay.c b/src/or/relay.c index 01d8edf84f..41c0bc77c9 100644 --- a/src/or/relay.c +++ b/src/or/relay.c @@ -1009,7 +1009,7 @@ circuit_resume_edge_reading_helper(connection_t *conn, /** Check if the package window for circ is empty (at * hop layer_hint 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; }