From cf67520e954993ebf2f144fa025cc9f0861b5f13 Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Wed, 7 Apr 2004 19:14:33 +0000 Subject: when counting how many being-built circs will handle a stream, don't count ones that are too old svn:r1517 --- src/or/circuit.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/or/circuit.c') 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) -- cgit v1.2.3-54-g00ecf