commit e033d98f79a950a342a7db6909709b5dc987b2cb Author: juga0 juga@riseup.net Date: Mon Jul 2 08:21:43 2018 +0000
Check descriptor bandwidth changed if not hibernating
There should be a separate check to update descriptor when start or end hibernating. --- src/or/router.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/or/router.c b/src/or/router.c index 4afba6549..f1a99364e 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) ) {