zephyr/kernel
Andrew Jackson e183671808 kernel: Add k_event_set_masked primitive
There is no easy way to clear event bits without
the potential for a race to exist between producer(s)
and consumer(s). The result of this race is that events
can be lost through the various resetting mechanisms
available (flag to k_event_wait(), or k_event_set()).

Add k_event_set_masked() which permits bits to be set or cleared.
This allows consumers to clear just the bits that they have read
without (accidentally) discarding any new bits.

Update unit tests to verify the functionality.

Partly Fixes #46117.

Signed-off-by: Andrew Jackson <andrew.jackson@amd.com>
2022-07-25 15:24:32 -04:00
..
include kernel: comply to coding guidelines MISRA C:2012 Rule 14.4 2022-07-21 06:16:16 -04:00
paging arch/kernel/soc/samples: use unsigned int for irq_lock() 2022-07-14 14:37:13 -05:00
CMakeLists.txt
Kconfig drivers: console: add a minimal EFI console driver to support printf 2022-07-05 16:52:32 -04:00
Kconfig.vm
atomic_c.c
banner.c
cache_handlers.c
compiler_stack_protect.c
condvar.c
device.c
errno.c
events.c kernel: Add k_event_set_masked primitive 2022-07-25 15:24:32 -04:00
fatal.c
futex.c
idle.c
init.c
kheap.c kernel: switch to `SYS_INIT_NAMED` 2022-07-06 10:44:35 +02:00
mailbox.c
main_weak.c
mem_domain.c
mem_slab.c kernel: Extend slabs memory usage stats 2022-07-12 13:59:26 +00:00
mempool.c
mmu.c kernel: comply to coding guidelines MISRA C:2012 Rule 14.4 2022-07-21 06:16:16 -04:00
msg_q.c
mutex.c
pipes.c
poll.c
queue.c
sched.c kernel: comply to coding guidelines MISRA C:2012 Rule 14.4 2022-07-21 06:16:16 -04:00
sem.c
smp.c kernel: comply to coding guidelines MISRA C:2012 Rule 14.4 2022-07-21 06:16:16 -04:00
stack.c
system_work_q.c
thread.c
timeout.c
timer.c kernel: comply to coding guidelines MISRA C:2012 Rule 14.4 2022-07-21 06:16:16 -04:00
usage.c
userspace.c scripts: move gen_kobject_list.py to scripts/build/gen_kobject_list.py 2022-07-12 10:03:45 +02:00
userspace_handler.c
version.c
work.c
xip.c