Commit 538c54e3 authored by Roger Dingledine's avatar Roger Dingledine
Browse files

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
parent ceb3a509
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -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
Original line number Diff line number Diff line
@@ -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. */