aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2006-07-22 05:29:31 +0000
committerRoger Dingledine <arma@torproject.org>2006-07-22 05:29:31 +0000
commit444f096d2d624378514b712c78e060ab523e6cea (patch)
treefc94c0a6dc6e8df54e180c85331852e7a68e743a /src
parent64c14d8ce33295ea800e5eb4cd9f702ae87765b8 (diff)
downloadtor-444f096d2d624378514b712c78e060ab523e6cea.tar.gz
tor-444f096d2d624378514b712c78e060ab523e6cea.zip
more bulletproof reachability testing
svn:r6804
Diffstat (limited to 'src')
-rw-r--r--src/or/config.c3
-rw-r--r--src/or/main.c6
2 files changed, 5 insertions, 4 deletions
diff --git a/src/or/config.c b/src/or/config.c
index fcca7acf91..e0dd745a98 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 6623c10f79..ca3742a5c9 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();