]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Resolve init-services-in-do-hup issue
authorNick Mathewson <nickm@torproject.org>
Fri, 9 Apr 2004 19:37:50 +0000 (19:37 +0000)
committerNick Mathewson <nickm@torproject.org>
Fri, 9 Apr 2004 19:37:50 +0000 (19:37 +0000)
svn:r1583

src/or/main.c

index fb7c4a315d0dac5a8ee9eaead7514b82bfba3c61..d20555208f98880700932aff856d14b6133752c5 100644 (file)
@@ -540,8 +540,6 @@ static int do_hup(void) {
     log_fn(LOG_ERR,"Error reloading rendezvous service keys");
     exit(1);
   }
-  /* We'll re-call rend_services_init after the new directory arrives.
-   * XXXX but what if we're the the directory? */
   if(retry_all_connections() < 0) {
     log_fn(LOG_ERR,"Failed to bind one of the listener ports.");
     return -1;
@@ -553,6 +551,12 @@ static int do_hup(void) {
     if(dirserv_parse_fingerprint_file(keydir) < 0) {
       log_fn(LOG_WARN, "Error reloading fingerprints. Continuing with old list.");
     }
+    /* Since we aren't fetching a directory, we won't retry rendezvous points
+     * when it gets in.  Try again now. */
+    if (rend_services_init()<0) {
+      log_fn(LOG_ERR,"Error updating rendezvous services");
+      return -1;
+    }
   } else {
     /* fetch a new directory */
     directory_initiate_command(router_pick_directory_server(),