diff options
author | Nick Mathewson <nickm@torproject.org> | 2015-08-17 13:50:19 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2015-08-17 13:50:19 -0400 |
commit | 573bd1f033d47a21a90340644480587e62817b68 (patch) | |
tree | 8856b4accb908c649035f6a2f7abb47945691567 /src | |
parent | 7f9a33a800b0d399942ca0aa98c05a71d08926b4 (diff) | |
parent | e62518865b312816211086c6a0d080e7258dae5b (diff) | |
download | tor-573bd1f033d47a21a90340644480587e62817b68.tar.gz tor-573bd1f033d47a21a90340644480587e62817b68.zip |
Merge remote-tracking branch 'public/decouple_retry_directory'
Diffstat (limited to 'src')
-rw-r--r-- | src/or/main.c | 11 | ||||
-rw-r--r-- | src/or/main.h | 1 | ||||
-rw-r--r-- | src/or/routerlist.c | 6 |
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. |