From 7df26de948d478bd9d1d85ffb54ca81f9f7488f1 Mon Sep 17 00:00:00 2001 From: Andrea Shepard Date: Tue, 12 Jun 2012 12:11:32 -0700 Subject: [PATCH] Unconditionally use config CircuitBuildTimeout if LearnCircuitBuildTimeout is disabled --- src/or/circuitbuild.c | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index 2b5cb21486..61576d12dd 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -535,16 +535,27 @@ static double circuit_build_times_get_initial_timeout(void) { double timeout; - if (!unit_tests && get_options()->CircuitBuildTimeout) { - timeout = get_options()->CircuitBuildTimeout*1000; - if (timeout < circuit_build_times_min_timeout()) { - log_warn(LD_CIRC, "Config CircuitBuildTimeout too low. Setting to %ds", - circuit_build_times_min_timeout()/1000); - timeout = circuit_build_times_min_timeout(); + + /* + * Check if we have LearnCircuitBuildTimeout, and if we don't, + * always use CircuitBuildTimeout, no questions asked. + */ + if (get_options()->LearnCircuitBuildTimeout) { + if (!unit_tests && get_options()->CircuitBuildTimeout) { + timeout = get_options()->CircuitBuildTimeout*1000; + if (timeout < circuit_build_times_min_timeout()) { + log_warn(LD_CIRC, "Config CircuitBuildTimeout too low. Setting to %ds", + circuit_build_times_min_timeout()/1000); + timeout = circuit_build_times_min_timeout(); + } + } else { + timeout = circuit_build_times_initial_timeout(); } - } else { - timeout = circuit_build_times_initial_timeout(); } + else { + timeout = get_options()->CircuitBuildTimeout*1000; + } + return timeout; }