Browse Source

Actually notice when our last entrynode goes down

Otherwise we'd never set have_minimum_dir_info to false, so the
"optimistic retry" would never trigger.
Roger Dingledine 13 years ago
parent
commit
7de1caa33f
2 changed files with 3 additions and 3 deletions
  1. 2 2
      src/or/circuitbuild.c
  2. 1 1
      src/or/routerlist.c

+ 2 - 2
src/or/circuitbuild.c

@@ -4605,7 +4605,7 @@ entries_retry_helper(or_options_t *options, int act)
         if (ri->is_running)
           any_running = 1; /* some entry is both known and running */
         else if (act) { /* mark it for retry */
-          ri->is_running = 1;
+          router_set_status(ri->cache_info.identity_digest, 1);
           e->can_retry = 1;
           e->bad_since = 0;
         }
@@ -4625,7 +4625,7 @@ entries_known_but_down(or_options_t *options)
   return entries_retry_helper(options, 0);
 }
 
-/** Mark all down known bridges up. */
+/** Mark all down known bridges / entrynodes up. */
 void
 entries_retry_all(or_options_t *options)
 {

+ 1 - 1
src/or/routerlist.c

@@ -4786,7 +4786,7 @@ update_router_have_minimum_dir_info(void)
     count_usable_descriptors(&num_present, &num_usable, consensus, options,
                              now, options->EntryNodes);
 
-    if (num_usable && (num_present == 0)) {
+    if (!num_usable || !num_present) {
       tor_snprintf(dir_info_status, sizeof(dir_info_status),
                    "We have only %d/%d usable entry node descriptors.",
                    num_present, num_usable);