Merge remote-tracking branch 'public/bug12170_024_v2'

This commit is contained in:
Nick Mathewson 2014-06-02 00:47:51 -04:00
commit 723894f114
2 changed files with 15 additions and 2 deletions

11
changes/bug12170 Normal file
View File

@ -0,0 +1,11 @@
o Major bugfixes (performance):
- Do not recompute whether we have sufficient information to build
circuits every time we make a successful connection. Previously,
we would forget our cached value for this flag every time we
successfully opened a channel (or marked a router as running or not
running for any
other reason), regardless of whether we had
previously believed the router to be running. This forced us to
run a fairly expensive update operation with relatively
high frequency.
Fixes bug 12170; bugfix on 0.1.2.1-alpha.

View File

@ -1249,10 +1249,12 @@ router_set_status(const char *digest, int up)
if (!up && node_is_me(node) && !net_is_disabled())
log_warn(LD_NET, "We just marked ourself as down. Are your external "
"addresses reachable?");
if (bool_neq(node->is_running, up))
router_dir_info_changed();
node->is_running = up;
}
router_dir_info_changed();
}
/** True iff, the last time we checked whether we had enough directory info