Re: [RFC][PATCH] timers: Add del_time_free() to be called before freeing timers
From: Steven Rostedt
Date: Fri Apr 08 2022 - 20:22:39 EST
On Fri, 08 Apr 2022 22:29:58 +0200
Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> Well, you'd have to reinitialize it first before the explicit rearm
> because the shutdown cleared the function pointer or if we use a flag
> then the flag would prevent arming it again.
We could always use the LSB bit of the function as a "shutdown" flag, where:
timer_shutdown() {
[..]
timer->fn = (void *)((unsigned long)timer->fn | 1);
[..]
}
timer_rearm() {
[..]
timer->fn = (void *)((unsigned long)timer->fn & ~1UL);
[..]
}
mod_timer() {
if ((unsigned long)timer->fn & 1)
return -EBUSY?;
[..]
}
-- Steve