mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-09-09 04:52:58 +00:00
The call to unschedule_locked() would return true ("successfully unscheduled") even in the case where the underlying z_abort_timeout() failed (because the callback was already unpended and in-progress/complete/about-to-be-run, remember that timeout callbacks are unsynchronized), leading to state bugs and races against the callback behavior. Correctly detect that case and propagate the error to the caller. Fixes #51872 Signed-off-by: Andy Ross <andyross@google.com> |
||
---|---|---|
.. | ||
include | ||
paging | ||
atomic_c.c | ||
banner.c | ||
CMakeLists.txt | ||
compiler_stack_protect.c | ||
condvar.c | ||
device.c | ||
errno.c | ||
events.c | ||
fatal.c | ||
futex.c | ||
idle.c | ||
init.c | ||
Kconfig | ||
Kconfig.vm | ||
kheap.c | ||
mailbox.c | ||
main_weak.c | ||
mem_domain.c | ||
mem_slab.c | ||
mempool.c | ||
mmu.c | ||
msg_q.c | ||
mutex.c | ||
pipes.c | ||
poll.c | ||
queue.c | ||
sched.c | ||
sem.c | ||
smp.c | ||
stack.c | ||
system_work_q.c | ||
thread.c | ||
timeout.c | ||
timer.c | ||
usage.c | ||
userspace_handler.c | ||
userspace.c | ||
version.c | ||
work.c | ||
xip.c |