diff options
author | Roger Dingledine <arma@torproject.org> | 2008-01-08 23:31:25 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2008-01-08 23:31:25 +0000 |
commit | 50f4cd10ad61191d66dbb6e06ac84d87e1bfeec9 (patch) | |
tree | 81aed2813a5edbb7d1d1b96a7222c95c4a1e445f /src/or/routerlist.c | |
parent | 58d88dfc7feed6e5683f3c57442f2697364a53ac (diff) | |
download | tor-50f4cd10ad61191d66dbb6e06ac84d87e1bfeec9.tar tor-50f4cd10ad61191d66dbb6e06ac84d87e1bfeec9.tar.gz |
don't rebuild the router store for all those times when we
fetch one descriptor and then we don't like it
svn:r13077
Diffstat (limited to 'src/or/routerlist.c')
-rw-r--r-- | src/or/routerlist.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/or/routerlist.c b/src/or/routerlist.c index 7794d30fe..cada13fb4 100644 --- a/src/or/routerlist.c +++ b/src/or/routerlist.c @@ -3155,6 +3155,7 @@ router_load_routers_from_string(const char *s, const char *eos, const char *msg; int from_cache = (saved_location != SAVED_NOWHERE); int allow_annotations = (saved_location != SAVED_NOWHERE); + int any_changed = 0; router_parse_list_from_string(&s, eos, routers, saved_location, 0, allow_annotations, prepend_annotations); @@ -3186,6 +3187,7 @@ router_load_routers_from_string(const char *s, const char *eos, } if (router_add_to_routerlist(ri, &msg, from_cache, !from_cache) >= 0) { + any_changed = 1; smartlist_add(changed, ri); routerlist_descriptors_added(changed, from_cache); smartlist_clear(changed); @@ -3194,7 +3196,8 @@ router_load_routers_from_string(const char *s, const char *eos, routerlist_assert_ok(routerlist); - router_rebuild_store(0, &routerlist->desc_store); + if (any_changed) + router_rebuild_store(0, &routerlist->desc_store); smartlist_free(routers); smartlist_free(changed); |