aboutsummaryrefslogtreecommitdiff
path: root/src/or/routerlist.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2017-11-08 13:22:16 -0500
committerNick Mathewson <nickm@torproject.org>2017-11-08 13:22:16 -0500
commit0dc55fb24756c5ae80e71f6fce93d97d73efd2fc (patch)
tree0df2c4a9fa618efc7f58c273089b5d5e534895cd /src/or/routerlist.c
parent04d4786cc40b2d80b4cd34e7d5339b0100861c8f (diff)
downloadtor-0dc55fb24756c5ae80e71f6fce93d97d73efd2fc.tar.gz
tor-0dc55fb24756c5ae80e71f6fce93d97d73efd2fc.zip
Don't delay descriptor fetches when missing info needed for circuits
When we have fewer than 15 descriptors to fetch, we will delay the fetch for a little while. That's fine, if we can go ahead and build circuits... but if not, it's a poor choice indeed. Fixes bug 23985; bugfix on 0.1.1.11-alpha. In 0.3.0.3-alpha, when we made primary guard descriptors necessary for circuit building, this situation got worse.
Diffstat (limited to 'src/or/routerlist.c')
-rw-r--r--src/or/routerlist.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index 2365f28fd2..1b7c81ad5f 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -5035,6 +5035,11 @@ launch_descriptor_downloads(int purpose,
log_debug(LD_DIR,
"There are enough downloadable %ss to launch requests.",
descname);
+ } else if (! router_have_minimum_dir_info()) {
+ log_debug(LD_DIR,
+ "We are only missing %d %ss, but we'll fetch anyway, since "
+ "we don't yet have enough directory info.",
+ n_downloadable, descname);
} else {
/* should delay */