From: Nick Mathewson Date: Fri, 9 Apr 2004 19:37:50 +0000 (+0000) Subject: Resolve init-services-in-do-hup issue X-Git-Tag: tor-0.0.6incompat-merged~61 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f9ade70cf9b41753c9027ca1f32f5b58a29e8bca;p=thirdparty%2Ftor.git Resolve init-services-in-do-hup issue svn:r1583 --- diff --git a/src/or/main.c b/src/or/main.c index fb7c4a315d..d20555208f 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -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(),