diff options
Diffstat (limited to 'src/or/networkstatus.c')
-rw-r--r-- | src/or/networkstatus.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/or/networkstatus.c b/src/or/networkstatus.c index 2dea5d4a38..150a5d1b81 100644 --- a/src/or/networkstatus.c +++ b/src/or/networkstatus.c @@ -148,7 +148,7 @@ router_reload_v2_networkstatus(void) SMARTLIST_FOREACH(entries, char *, fn, tor_free(fn)); smartlist_free(entries); networkstatus_v2_list_clean(time(NULL)); - routers_update_all_from_networkstatus(time(NULL)); + routers_update_all_from_networkstatus(time(NULL), 2); return 0; } @@ -202,7 +202,7 @@ router_reload_consensus_networkstatus(void) } } - routers_update_all_from_networkstatus(time(NULL)); + routers_update_all_from_networkstatus(time(NULL), 3); return 0; } @@ -1398,10 +1398,11 @@ networkstatus_note_certs_arrived(void) /** If the network-status list has changed since the last time we called this * function, update the status of every routerinfo from the network-status - * list. + * list. If <b>dir_version</b> is 2, it's a v2 networkstatus that changed. + * If <b>dir_version</b> is 3, it's a v3 consensus that changed. */ void -routers_update_all_from_networkstatus(time_t now) +routers_update_all_from_networkstatus(time_t now, int dir_version) { routerinfo_t *me; routerlist_t *rl = router_get_routerlist(); @@ -1410,7 +1411,7 @@ routers_update_all_from_networkstatus(time_t now) if (networkstatus_v2_list_has_changed) download_status_map_update_from_v2_networkstatus(); - if (!consensus) + if (!consensus || dir_version < 3) /* nothing more we should do */ return; /* More routers may be up or down now: we need to recalc whether there's |