From: Roger Dingledine Date: Wed, 7 Apr 2004 19:14:33 +0000 (+0000) Subject: when counting how many being-built circs will handle a stream, X-Git-Tag: tor-0.0.6incompat-merged~127 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cf67520e954993ebf2f144fa025cc9f0861b5f13;p=thirdparty%2Ftor.git when counting how many being-built circs will handle a stream, don't count ones that are too old svn:r1517 --- diff --git a/src/or/circuit.c b/src/or/circuit.c index 78ef57d636..a4794dc113 100644 --- a/src/or/circuit.c +++ b/src/or/circuit.c @@ -459,10 +459,13 @@ int circuit_stream_is_being_handled(connection_t *conn) { circuit_t *circ; routerinfo_t *exitrouter; int num=0; + time_t now = time(NULL); for(circ=global_circuitlist;circ;circ = circ->next) { if(circ->cpath && circ->state != CIRCUIT_STATE_OPEN && - !circ->marked_for_close && circ->purpose == CIRCUIT_PURPOSE_C_GENERAL) { + !circ->marked_for_close && circ->purpose == CIRCUIT_PURPOSE_C_GENERAL && + (!circ->timestamp_dirty || + circ->timestamp_dirty + options.NewCircuitPeriod < now)) { exitrouter = router_get_by_nickname(circ->build_state->chosen_exit); if(exitrouter && connection_ap_can_use_exit(conn, exitrouter) != ADDR_POLICY_REJECTED) if(++num >= MIN_CIRCUITS_HANDLING_STREAM)