summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/or/main.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/or/main.c b/src/or/main.c
index c44d772e6e..6e8064399a 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -335,6 +335,7 @@ static void run_connection_housekeeping(int i, time_t now) {
*/
static void run_scheduled_events(time_t now) {
static long time_to_fetch_directory = 0;
+ static time_t last_uploaded_services = 0;
int i;
/* 1. Every DirFetchPostPeriod seconds, we get a new directory and upload
@@ -356,6 +357,7 @@ static void run_scheduled_events(time_t now) {
}
/* Force an upload of our descriptors every DirFetchPostPeriod seconds. */
rend_services_upload(1);
+ last_uploaded_services = now;
rend_cache_clean(); /* should this go elsewhere? */
time_to_fetch_directory = now + options.DirFetchPostPeriod;
}
@@ -397,7 +399,10 @@ static void run_scheduled_events(time_t now) {
/* 6. And upload service descriptors for any services whose intro points
* have changed in the last second. */
- rend_services_upload(0);
+ if (last_uploaded_services < now-5) {
+ rend_services_upload(0);
+ last_uploaded_services = now;
+ }
#if 0
/* 6. and blow away any connections that need to die. can't do this later