summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2015-08-17 13:50:19 -0400
committerNick Mathewson <nickm@torproject.org>2015-08-17 13:50:19 -0400
commit573bd1f033d47a21a90340644480587e62817b68 (patch)
tree8856b4accb908c649035f6a2f7abb47945691567 /src
parent7f9a33a800b0d399942ca0aa98c05a71d08926b4 (diff)
parente62518865b312816211086c6a0d080e7258dae5b (diff)
downloadtor-573bd1f033d47a21a90340644480587e62817b68.tar.gz
tor-573bd1f033d47a21a90340644480587e62817b68.zip
Merge remote-tracking branch 'public/decouple_retry_directory'
Diffstat (limited to 'src')
-rw-r--r--src/or/main.c11
-rw-r--r--src/or/main.h1
-rw-r--r--src/or/routerlist.c6
3 files changed, 14 insertions, 4 deletions
diff --git a/src/or/main.c b/src/or/main.c
index 092014f7fa..026dcca01d 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -1280,6 +1280,17 @@ reschedule_descriptor_update_check(void)
time_to.check_descriptor = 0;
}
+/**
+ * Update our schedule so that we'll check whether we need to fetch directory
+ * info immediately.
+ */
+void
+reschedule_directory_downloads(void)
+{
+ time_to.download_networkstatus = 0;
+ time_to.try_getting_descriptors = 0;
+}
+
/** Perform regular maintenance tasks. This function gets run once per
* second by second_elapsed_callback().
*/
diff --git a/src/or/main.h b/src/or/main.h
index be0bd64057..31883d495a 100644
--- a/src/or/main.h
+++ b/src/or/main.h
@@ -54,6 +54,7 @@ void ip_address_changed(int at_interface);
void dns_servers_relaunch_checks(void);
void reset_all_main_loop_timers(void);
void reschedule_descriptor_update_check(void);
+void reschedule_directory_downloads(void);
MOCK_DECL(long,get_uptime,(void));
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index aebbd480d2..8bd80391bc 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -4013,12 +4013,10 @@ update_all_descriptor_downloads(time_t now)
void
routerlist_retry_directory_downloads(time_t now)
{
+ (void)now;
router_reset_status_download_failures();
router_reset_descriptor_download_failures();
- if (get_options()->DisableNetwork)
- return;
- update_networkstatus_downloads(now);
- update_all_descriptor_downloads(now);
+ reschedule_directory_downloads();
}
/** Return true iff <b>router</b> does not permit exit streams.