diff options
author | Roger Dingledine <arma@torproject.org> | 2006-07-22 07:15:34 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2006-07-22 07:15:34 +0000 |
commit | 2d6a4d283b5004f19c5c2c743ead51f6b2ad8440 (patch) | |
tree | 16a6d9f63a74bfc5941a546fa970b15684341e18 /src/or | |
parent | 444f096d2d624378514b712c78e060ab523e6cea (diff) | |
download | tor-2d6a4d283b5004f19c5c2c743ead51f6b2ad8440.tar tor-2d6a4d283b5004f19c5c2c743ead51f6b2ad8440.tar.gz |
i lied, that won't work at all. maybe this will.
svn:r6805
Diffstat (limited to 'src/or')
-rw-r--r-- | src/or/config.c | 3 | ||||
-rw-r--r-- | src/or/main.c | 4 | ||||
-rw-r--r-- | src/or/or.h | 1 | ||||
-rw-r--r-- | src/or/rephist.c | 14 |
4 files changed, 14 insertions, 8 deletions
diff --git a/src/or/config.c b/src/or/config.c index e0dd745a9..9c6577c07 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -796,8 +796,7 @@ options_act(or_options_t *old_options) return -1; } server_has_changed_ip(); - if (has_completed_circuit || - rep_hist_circbuilding_dormant(time(NULL))) + if (has_completed_circuit || any_predicted_circuits(time(NULL))) inform_testing_reachability(); } cpuworkers_rotate(); diff --git a/src/or/main.c b/src/or/main.c index ca3742a5c..cb0e74b37 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -569,7 +569,7 @@ directory_info_has_arrived(time_t now, int from_cache) } if (server_mode(options) && !we_are_hibernating() && !from_cache && - (has_completed_circuit || rep_hist_circbuilding_dormant(now))) + (has_completed_circuit || any_predicted_circuits(now))) consider_testing_reachability(); } @@ -833,7 +833,7 @@ run_scheduled_events(time_t now) /* also, check religiously for reachability, if it's within the first * 20 minutes of our uptime. */ if (server_mode(options) && - (has_completed_circuit || rep_hist_circbuilding_dormant(now)) && + (has_completed_circuit || any_predicted_circuits(now)) && stats_n_seconds_working < TIMEOUT_UNTIL_UNREACHABILITY_COMPLAINT && !we_are_hibernating()) consider_testing_reachability(); diff --git a/src/or/or.h b/src/or/or.h index 8e2d246b8..63869e6dd 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -2141,6 +2141,7 @@ void rep_hist_note_used_internal(time_t now, int need_uptime, int rep_hist_get_predicted_internal(time_t now, int *need_uptime, int *need_capacity); +int any_predicted_circuits(time_t now); int rep_hist_circbuilding_dormant(time_t now); void rep_hist_free_all(void); diff --git a/src/or/rephist.c b/src/or/rephist.c index 3d391ad94..a9a16625c 100644 --- a/src/or/rephist.c +++ b/src/or/rephist.c @@ -912,14 +912,20 @@ rep_hist_get_predicted_internal(time_t now, int *need_uptime, return 1; } +/** Any ports used lately? These are pre-seeded if we just started + * up or if we're running a hidden service. */ +int +any_predicted_circuits(time_t now) +{ + return smartlist_len(predicted_ports_list) || + predicted_internal_time + PREDICTED_CIRCS_RELEVANCE_TIME >= now; +} + /** Return 1 if we have no need for circuits currently, else return 0. */ int rep_hist_circbuilding_dormant(time_t now) { - /* Any ports used lately? These are pre-seeded if we just started - * up or if we're running a hidden service. */ - if (smartlist_len(predicted_ports_list) || - predicted_internal_time + PREDICTED_CIRCS_RELEVANCE_TIME >= now) + if (any_predicted_circuits(now)) return 0; /* see if we'll still need to build testing circuits */ |