diff options
-rw-r--r-- | src/or/config.c | 3 | ||||
-rw-r--r-- | src/or/main.c | 6 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/or/config.c b/src/or/config.c index fcca7acf9..e0dd745a9 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -796,7 +796,8 @@ options_act(or_options_t *old_options) return -1; } server_has_changed_ip(); - if (has_completed_circuit) + if (has_completed_circuit || + rep_hist_circbuilding_dormant(time(NULL))) inform_testing_reachability(); } cpuworkers_rotate(); diff --git a/src/or/main.c b/src/or/main.c index 6623c10f7..ca3742a5c 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -568,8 +568,8 @@ directory_info_has_arrived(time_t now, int from_cache) return; } - if (server_mode(options) && !we_are_hibernating() && - !from_cache && has_completed_circuit) + if (server_mode(options) && !we_are_hibernating() && !from_cache && + (has_completed_circuit || rep_hist_circbuilding_dormant(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 && + (has_completed_circuit || rep_hist_circbuilding_dormant(now)) && stats_n_seconds_working < TIMEOUT_UNTIL_UNREACHABILITY_COMPLAINT && !we_are_hibernating()) consider_testing_reachability(); |