{
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) ) {