zephyr/kernel
Andy Ross 12bd187003 kernel/timeout: Check for K_FOREVER in z_add_timeout()
The "forever" token has always been interpreted above z_add_timeout()
(because it's always taken ticks, but K_FOREVER used to be in ms).
But it was discovered that k_delayed_work_submit_to_queue() was never
testing for this and passing a raw K_FOREVER down, where it got
interpreted as a negative timeout and caused it to fire at the next
tick.

Now that we actually see the original k_timeout_t here, we might as
well check it locally and do the correct thing (that is, nothing) if
asked to schedule a timeout that will never fire.

Fixes #24409

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2020-04-22 11:10:17 -07:00
..
include kernel: reduce scope of z_new_thread_init() 2020-04-21 18:45:45 -04:00
atomic_c.c kernel: Add k_heap synchronized memory allocator 2020-04-14 10:05:55 -07:00
CMakeLists.txt kernel: Add k_mem_pool compatibility layer on top of k_heap 2020-04-14 10:05:55 -07:00
compiler_stack_protect.c
device.c
errno.c
fatal.c
futex.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00
idle.c
init.c drivers: entropy: replace CONFIG_ENTROPY_NAME with DT macro 2020-04-13 09:14:21 -05:00
Kconfig kernel: Make the k_heap backend default for k_mem_pool 2020-04-14 10:05:55 -07:00
Kconfig.power_mgmt
kheap.c kernel: Add k_mem_pool compatibility layer on top of k_heap 2020-04-14 10:05:55 -07:00
mailbox.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00
mem_domain.c
mem_slab.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00
mempool_sys.c kernel: Refactor k_mem_pool APIs into a base and derived level 2020-04-14 10:05:55 -07:00
mempool.c kernel: Refactor k_mem_pool APIs into a base and derived level 2020-04-14 10:05:55 -07:00
msg_q.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00
mutex.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00
pipes.c kernel: fix runtime initialization of k_pipe object 2020-04-21 11:19:29 +02:00
poll.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00
queue.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00
sched.c kernel/timeout: Enable 64 bit timeout precision 2020-03-31 19:40:47 -04:00
sem.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00
smp.c
stack.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00
system_work_q.c
thread_abort.c
thread.c kernel: add Z_STACK_PTR_ALIGN ARCH_STACK_PTR_ALIGN 2020-04-21 18:45:45 -04:00
timeout.c kernel/timeout: Check for K_FOREVER in z_add_timeout() 2020-04-22 11:10:17 -07:00
timer.c kernel/timeout: Add timeout remaining/expires APIs 2020-03-31 19:40:47 -04:00
userspace_handler.c
userspace.c
version.c
work_q.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00