prevent a rare infinite loop on two-byte architectures,

and be more thorough and starting over when the clock jumps.


svn:r5647
This commit is contained in:
Roger Dingledine 2005-12-25 04:37:33 +00:00
parent 7e0d62b14a
commit 40c267a89f

View File

@ -65,7 +65,7 @@ static uint16_t
get_unique_circ_id_by_conn(connection_t *conn) get_unique_circ_id_by_conn(connection_t *conn)
{ {
uint16_t test_circ_id; uint16_t test_circ_id;
int attempts=0; uint16_t attempts=0;
uint16_t high_bit; uint16_t high_bit;
tor_assert(conn); tor_assert(conn);
@ -651,6 +651,7 @@ circuit_note_clock_jumped(int seconds_elapsed)
"assuming established circuits no longer work.", seconds_elapsed); "assuming established circuits no longer work.", seconds_elapsed);
has_completed_circuit=0; /* so it'll log when it works again */ has_completed_circuit=0; /* so it'll log when it works again */
circuit_mark_all_unused_circs(); circuit_mark_all_unused_circs();
circuit_expire_all_dirty_circs();
} }
/** Take the 'extend' cell, pull out addr/port plus the onion skin. Make /** Take the 'extend' cell, pull out addr/port plus the onion skin. Make