summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2010-09-29 18:05:10 -0400
committerRoger Dingledine <arma@torproject.org>2010-09-29 18:05:10 -0400
commitceb3d4d578f4ebb8d0d1247adf895ccbab7f72db (patch)
tree98281cf43c149408ecb369c6863299c0417e6ad3
parent7f10707c42e69ef69395aecf7984d16107c78331 (diff)
downloadtor-ceb3d4d578f4ebb8d0d1247adf895ccbab7f72db.tar.gz
tor-ceb3d4d578f4ebb8d0d1247adf895ccbab7f72db.zip
no measurement circs if not enough build times
In the first 100 circuits, our timeout_ms and close_ms are the same. So we shouldn't transition circuits to purpose CIRCUIT_PURPOSE_C_MEASURE_TIMEOUT, since they will just timeout again next time we check.
-rw-r--r--src/or/circuituse.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/or/circuituse.c b/src/or/circuituse.c
index 66ee0c4353..18ef0c824b 100644
--- a/src/or/circuituse.c
+++ b/src/or/circuituse.c
@@ -384,7 +384,8 @@ circuit_expire_building(time_t now)
continue;
}
- if (circuit_timeout_want_to_count_circ(TO_ORIGIN_CIRCUIT(victim))) {
+ if (circuit_timeout_want_to_count_circ(TO_ORIGIN_CIRCUIT(victim)) &&
+ circuit_build_times_enough_to_compute(&circ_times)) {
/* Circuits are allowed to last longer for measurement.
* Switch their purpose and wait. */
if (victim->purpose != CIRCUIT_PURPOSE_C_MEASURE_TIMEOUT) {