diff options
author | Sebastian Hahn <sebastian@torproject.org> | 2010-02-03 23:54:18 +0100 |
---|---|---|
committer | Sebastian Hahn <sebastian@torproject.org> | 2010-02-04 00:06:56 +0100 |
commit | 25ec240cc344adc1ca0a5e10179d7e47d8af9532 (patch) | |
tree | 9f74943984800a01ba9d15286ac5e75f15adc7d7 /src/or | |
parent | 82a5fbafab956de6fffc3c583a874830157d906d (diff) | |
download | tor-25ec240cc344adc1ca0a5e10179d7e47d8af9532.tar.gz tor-25ec240cc344adc1ca0a5e10179d7e47d8af9532.zip |
Call exit_policy_is_general_exit less
When calculating the is_exit flag for a routerinfo_t, we don't need
to call exit_policy_is_general_exit() if router_exit_policy_rejects_all()
tells us it definitely is an exit. This check is much cheaper than
running exit_policy_is_general_exit().
Diffstat (limited to 'src/or')
-rw-r--r-- | src/or/dirserv.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/or/dirserv.c b/src/or/dirserv.c index 3024612357..8009647c91 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -1776,7 +1776,8 @@ dirserv_compute_performance_thresholds(routerlist_t *rl) if (router_is_active(ri, now)) { const char *id = ri->cache_info.identity_digest; uint32_t bw; - ri->is_exit = exit_policy_is_general_exit(ri->exit_policy); + ri->is_exit = (!router_exit_policy_rejects_all(ri) && + exit_policy_is_general_exit(ri->exit_policy)); uptimes[n_active] = (uint32_t)real_uptime(ri, now); mtbfs[n_active] = rep_hist_get_stability(id, now); tks [n_active] = rep_hist_get_weighted_time_known(id, now); |