summaryrefslogtreecommitdiff
path: root/src/or/rephist.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/or/rephist.c')
-rw-r--r--src/or/rephist.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/or/rephist.c b/src/or/rephist.c
index d31161ca07..00e40216c8 100644
--- a/src/or/rephist.c
+++ b/src/or/rephist.c
@@ -918,8 +918,17 @@ rep_hist_get_predicted_internal(time_t now, int *need_uptime,
int
rep_hist_circbuilding_dormant(void)
{
+ /* Any ports used lately? These are pre-seeded if we just started
+ * up or if we're running a hidden service. */
if (predicted_ports_list || predicted_internal_time)
- return 0; /* nothing used lately. */
+ return 0;
+
+ /* see if we'll still need to build testing circuits */
+ if (server_mode(options) && !check_whether_orport_reachable())
+ return 0;
+ if (!check_whether_dirport_reachable())
+ return 0;
+
return 1;
}