mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
try dirport reachability testing five times less often.
it's already so darn thorough per test -- it chews through like four circuits before giving up. svn:r8646
This commit is contained in:
@@ -21,8 +21,6 @@ const char dirserv_c_id[] =
|
||||
* directory authorities. */
|
||||
#define MAX_UNTRUSTED_NETWORKSTATUSES 16
|
||||
|
||||
extern long stats_n_seconds_working;
|
||||
|
||||
typedef enum {
|
||||
FP_NAMED, /**< Listed in fingerprint file. */
|
||||
FP_VALID, /**< Unlisted but believed valid. */
|
||||
|
||||
+6
-2
@@ -833,6 +833,7 @@ run_scheduled_events(time_t now)
|
||||
/* 2b. Once per minute, regenerate and upload the descriptor if the old
|
||||
* one is inaccurate. */
|
||||
if (time_to_check_descriptor < now) {
|
||||
static int dirport_reachability_count = 0;
|
||||
time_to_check_descriptor = now + CHECK_DESCRIPTOR_INTERVAL;
|
||||
check_descriptor_bandwidth_changed(now);
|
||||
if (time_to_check_ipaddress < now) {
|
||||
@@ -847,8 +848,11 @@ run_scheduled_events(time_t now)
|
||||
if (server_mode(options) &&
|
||||
(has_completed_circuit || !any_predicted_circuits(now)) &&
|
||||
stats_n_seconds_working < TIMEOUT_UNTIL_UNREACHABILITY_COMPLAINT &&
|
||||
!we_are_hibernating())
|
||||
consider_testing_reachability(1, 1);
|
||||
!we_are_hibernating()) {
|
||||
consider_testing_reachability(1, dirport_reachability_count==0);
|
||||
if (++dirport_reachability_count > 5)
|
||||
dirport_reachability_count = 0;
|
||||
}
|
||||
|
||||
/* If any networkstatus documents are no longer recent, we need to
|
||||
* update all the descriptors' running status. */
|
||||
|
||||
Reference in New Issue
Block a user