From: Sebastian Hahn Date: Wed, 3 Feb 2010 22:54:18 +0000 (+0100) Subject: Call exit_policy_is_general_exit less X-Git-Tag: tor-0.2.2.9-alpha~37 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=25ec240cc344adc1ca0a5e10179d7e47d8af9532;p=thirdparty%2Ftor.git 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(). --- 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);