From e3eaee1d2cbd0bc03a40e374376ca72195a9d64d Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Mon, 22 Feb 2016 03:02:01 -0500 Subject: [PATCH] avoid redundant bootstrap events if the number of descs we just fetched is 0 --- src/or/directory.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/or/directory.c b/src/or/directory.c index 7c3bfe5529..964b159512 100644 --- a/src/or/directory.c +++ b/src/or/directory.c @@ -1764,7 +1764,7 @@ load_downloaded_routers(const char *body, smartlist_t *which, added = router_load_routers_from_string(body, NULL, SAVED_NOWHERE, which, descriptor_digests, buf); - if (general) + if (added && general) control_event_bootstrap(BOOTSTRAP_STATUS_LOADING_DESCRIPTORS, count_loading_descriptors_progress()); return added; @@ -2166,10 +2166,11 @@ connection_dir_client_reached_eof(dir_connection_t *conn) /* Mark remaining ones as failed. */ dir_microdesc_download_failed(which, status_code); } - control_event_bootstrap(BOOTSTRAP_STATUS_LOADING_DESCRIPTORS, - count_loading_descriptors_progress()); - if (mds && smartlist_len(mds)) + if (mds && smartlist_len(mds)) { + control_event_bootstrap(BOOTSTRAP_STATUS_LOADING_DESCRIPTORS, + count_loading_descriptors_progress()); directory_info_has_arrived(now, 0, 1); + } SMARTLIST_FOREACH(which, char *, cp, tor_free(cp)); smartlist_free(which); smartlist_free(mds);