From acbdc29d57373a42a512b505c7d4169fd9ca2bee Mon Sep 17 00:00:00 2001 From: Ondrej Zajicek Date: Tue, 27 Aug 2024 14:28:41 +0200 Subject: [PATCH] Lib: Expand timer recurrence to 64b The period of recurent timers was stored in 32b field, despite it was btime-compatible value in us. Therefore, it was limited to ~72 min, which mas okay for most purposes, except configurable MRT dump periods. Thanks to Felix Friedlander for the bugreport. --- lib/timer.c | 4 ++-- lib/timer.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/timer.c b/lib/timer.c index c47e0bbc..92da5061 100644 --- a/lib/timer.c +++ b/lib/timer.c @@ -110,9 +110,9 @@ tm_dump(resource *r) if (t->randomize) debug("rand %d, ", t->randomize); if (t->recurrent) - debug("recur %d, ", t->recurrent); + debug("recur %ld, ", t->recurrent); if (t->expires) - debug("expires in %d ms)\n", (t->expires - current_time()) TO_MS); + debug("expires in %ld ms)\n", (t->expires - current_time()) TO_MS); else debug("inactive)\n"); } diff --git a/lib/timer.h b/lib/timer.h index 0f87852b..83ce34aa 100644 --- a/lib/timer.h +++ b/lib/timer.h @@ -22,8 +22,8 @@ typedef struct timer void *data; btime expires; /* 0=inactive */ + btime recurrent; /* Timer recurrence */ uint randomize; /* Amount of randomization */ - uint recurrent; /* Timer recurrence */ int index; } timer; @@ -72,7 +72,7 @@ tm_remains(timer *t) } static inline timer * -tm_new_init(pool *p, void (*hook)(struct timer *), void *data, uint rec, uint rand) +tm_new_init(pool *p, void (*hook)(struct timer *), void *data, btime rec, uint rand) { timer *t = tm_new(p); t->hook = hook;