[or-cvs] [tor/master 2/3] Call exit_policy_is_general_exit less

nickm at torproject.org nickm at torproject.org
Thu Feb 4 14:58:34 UTC 2010


Author: Sebastian Hahn <sebastian at torproject.org>
Date: Wed, 3 Feb 2010 23:54:18 +0100
Subject: Call exit_policy_is_general_exit less
Commit: 25ec240cc344adc1ca0a5e10179d7e47d8af9532

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().
---
 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 3024612..8009647 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);
-- 
1.6.5




More information about the tor-commits mailing list