From: juga0 Date: Mon, 2 Jul 2018 08:21:43 +0000 (+0000) Subject: Check descriptor bandwidth changed if not hibernating X-Git-Tag: tor-0.3.5.1-alpha~96^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e033d98f79a950a342a7db6909709b5dc987b2cb;p=thirdparty%2Ftor.git Check descriptor bandwidth changed if not hibernating There should be a separate check to update descriptor when start or end hibernating. --- diff --git a/src/or/router.c b/src/or/router.c index 4afba65491..f1a99364e6 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -2440,17 +2440,18 @@ check_descriptor_bandwidth_changed(time_t now) { static time_t last_changed = 0; uint64_t prev, cur; + int hibernating = we_are_hibernating(); /* If the relay uptime is bigger than MAX_UPTIME_BANDWIDTH_CHANGE, * the next regularly scheduled descriptor update (18h) will be enough */ - if (get_uptime() > MAX_UPTIME_BANDWIDTH_CHANGE) + if (get_uptime() > MAX_UPTIME_BANDWIDTH_CHANGE && !hibernating) return; if (!router_get_my_routerinfo()) return; prev = router_get_my_routerinfo()->bandwidthcapacity; - cur = we_are_hibernating() ? 0 : rep_hist_bandwidth_assess(); + cur = hibernating ? 0 : rep_hist_bandwidth_assess(); if ((prev != cur && (!prev || !cur)) || cur > (prev * BANDWIDTH_CHANGE_FACTOR) || cur < (prev / BANDWIDTH_CHANGE_FACTOR) ) {