From e66217ada1e98898a0f6f3c3d380ddb2e301c10a Mon Sep 17 00:00:00 2001 From: Matheus Date: Mon, 27 May 2024 21:54:37 -0300 Subject: [PATCH] timer: fix missing fired set --- kernel-src/sys/timer.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel-src/sys/timer.c b/kernel-src/sys/timer.c index fbe6e5b6..a9db1143 100644 --- a/kernel-src/sys/timer.c +++ b/kernel-src/sys/timer.c @@ -15,7 +15,7 @@ static void insert(timer_t *timer, timerentry_t *entry, time_t us) { } else { timerentry_t *search = timer->queue; - while(search) { + while (search) { if (search->next == NULL) { // if last entry in the queue entry->next = NULL; search->next = entry; @@ -38,6 +38,8 @@ static void timercheck(timer_t *timer) { if (entry->repeatus) insert(timer, entry, entry->repeatus); + else + entry->fired = true; dpc_enqueue(&entry->dpc, entry->fn, entry->arg); }