BUG/MINOR: server: fix down_time report for stats

Adjust condition used to report down_time for statistics. There was a
tiny probabilty to have a negative downtime if last_change was superior
to now. If this is the case, return only down_time.

This bug can backported up to 1.8.
This commit is contained in:
Amaury Denoyelle 2020-10-29 15:59:05 +01:00 committed by Christopher Faulet
parent fe2bf091f6
commit e6ba7915eb

View File

@ -74,7 +74,7 @@ struct eb_root state_file = EB_ROOT_UNIQUE;
int srv_downtime(const struct server *s) int srv_downtime(const struct server *s)
{ {
if ((s->cur_state != SRV_ST_STOPPED) && s->last_change < now.tv_sec) // ignore negative time if ((s->cur_state != SRV_ST_STOPPED) || s->last_change >= now.tv_sec) // ignore negative time
return s->down_time; return s->down_time;
return now.tv_sec - s->last_change + s->down_time; return now.tv_sec - s->last_change + s->down_time;