aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2025-04-21 13:03:00 -0400
committerKevin O'Connor <kevin@koconnor.net>2025-04-28 19:28:52 -0400
commit8e107b2280c12dc70e635220c78fce7656bc4304 (patch)
tree1ef3a12e2d8f0160b42d0f97e36b1af64222132f /src
parentf1e0730701e6bf2ece78f50c24bf0a5dad41b604 (diff)
downloadkutter-8e107b2280c12dc70e635220c78fce7656bc4304.tar.gz
kutter-8e107b2280c12dc70e635220c78fce7656bc4304.tar.xz
kutter-8e107b2280c12dc70e635220c78fce7656bc4304.zip
basecmd: Update stats timing check to support 32bit duration
Use a 32bit duration check instead of the previous 31bit check. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'src')
-rw-r--r--src/basecmd.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/basecmd.c b/src/basecmd.c
index 6d26884d..d6d6e846 100644
--- a/src/basecmd.c
+++ b/src/basecmd.c
@@ -299,6 +299,13 @@ command_get_uptime(uint32_t *args)
}
DECL_COMMAND_FLAGS(command_get_uptime, HF_IN_SHUTDOWN, "get_uptime");
+// Similar to timer_is_before(), but handles full 32bit duration
+static int
+timer_has_elapsed(uint32_t start, uint32_t cur, uint32_t duration)
+{
+ return (uint32_t)(cur - start) >= duration;
+}
+
#define SUMSQ_BASE 256
DECL_CONSTANT("STATS_SUMSQ_BASE", SUMSQ_BASE);
@@ -322,7 +329,7 @@ stats_update(uint32_t start, uint32_t cur)
nextsumsq = 0xffffffff;
sumsq = nextsumsq;
- if (timer_is_before(cur, stats_send_time + timer_from_us(5000000)))
+ if (!timer_has_elapsed(stats_send_time, cur, timer_from_us(5000000)))
return;
sendf("stats count=%u sum=%u sumsq=%u", count, sum, sumsq);
if (cur < stats_send_time)