zephyr/include/sys
Guennadi Liakhovetski 56610bdafb p4wq: fix races when handling work items
Work items in P4WQ currently belong to the user before submission
and after exit from the handler, therefore, unless the handler
re-submits the item, accessing it in p4wq_loop() in such cases
is racy. To fix this we re-define work item ownership. Now the
item belongs to the P4WQ core until the user calls
k_p4wq_wait(). If the work item has its .sync flag set, the
function will sleep until the handler completes processing the
work item or until the timeout expires. If .sync isn't set and
the handler hasn't processed the item yet, the function returns
-EBUSY.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2021-05-03 17:13:01 -04:00
..
__assert.h
arch_interface.h kernel: remove arch_mem_domain_destroy 2021-03-18 16:30:47 +01:00
atomic_arch.h kernel: atomic: possibility of arch specific implementation 2021-05-03 11:57:46 +02:00
atomic_builtin.h kernel: atomic: consistently use named type for atomic pointer values 2021-04-19 15:22:13 +02:00
atomic_c.h kernel: atomic: consistently use named type for atomic pointer values 2021-04-19 15:22:13 +02:00
atomic.h kernel: atomic: possibility of arch specific implementation 2021-05-03 11:57:46 +02:00
base64.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
byteorder.h sys: byteorder: Fix incorrect shift in sys_get_be48/le48 2020-09-21 11:17:59 +02:00
cbprintf_internal.h lib: os: cbprintf: Suppress coverity false positive 2021-04-28 20:06:20 +02:00
cbprintf.h lib: os: cbprintf: Prevent using _Generic in C++ 2021-04-27 08:48:03 -05:00
check.h
crc.h lib: os: Introduce support for CRC32C algorithm 2021-03-02 14:08:30 +01:00
device_mmio.h mmu: rename z_mem_map to z_phys_map 2020-12-16 08:55:55 -05:00
dlist.h doc: strcutures: use doxygen to reference functions 2021-04-15 14:04:05 -04:00
errno_private.h kernel: support using thread local storage for errno 2020-10-24 10:52:00 -07:00
fdtable.h net: socket: Add locking to prevent concurrent access 2021-04-15 07:16:51 -05:00
kobject.h kernel: change metadata for priv_stacks to const 2021-04-27 13:32:00 -04:00
libc-hooks.h arm: cortex_m: add support for thread local storage 2020-10-24 10:52:00 -07:00
list_gen.h
math_extras_impl.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
math_extras.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
mem_manage.h kernel: mmu: demand paging execution time histogram 2021-04-06 16:43:55 -04:00
mpsc_packet.h lib: os: Add mpsc (multiple producer, single consumer) packet buffer 2021-04-19 10:59:23 -04:00
mpsc_pbuf.h tests: lib: Add test for mpsc_pbuf 2021-04-19 10:59:23 -04:00
mutex.h docs: Add missing retval for sys_mutex_unlock() 2021-03-10 05:42:06 -05:00
notify.h code-guideline: Fixing code violation 10.4 Rule 2020-10-01 17:13:29 -04:00
onoff.h code-guideline: Fixing code violation 10.4 Rule 2020-10-01 17:13:29 -04:00
p4wq.h p4wq: fix races when handling work items 2021-05-03 17:13:01 -04:00
printk.h logging: Adapt logger to support both versions 2021-04-19 10:59:23 -04:00
rb.h lib: rb: Use types that indicate size and signedness 2021-04-20 15:50:49 -04:00
reboot.h power: move reboot functionality to os lib 2021-04-28 20:34:00 -04:00
ring_buffer.h doc: group data structure docs and add doxygen linkage 2021-04-15 14:04:05 -04:00
sem.h linker: add iterable section macros 2020-06-24 17:09:22 -04:00
sflist.h doc: group data structure docs and add doxygen linkage 2021-04-15 14:04:05 -04:00
slist.h doc: group data structure docs and add doxygen linkage 2021-04-15 14:04:05 -04:00
speculation.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
sys_heap.h kernel/arch: cleanup function definitions 2021-04-01 05:34:17 -04:00
sys_io.h sys_io: Expand the API to 64bits read/write functions 2020-12-08 09:29:20 -05:00
thread_stack.h kernel/include: Put kernel stack memory in the right memory 2021-02-11 14:47:40 -05:00
time_units.h include: sys: time_units: fix missing final else 2021-04-27 17:31:59 -04:00
timeutil.h doc: add a section for timeutil APIs 2021-01-20 16:38:56 -05:00
util_internal.h sys: util: Update implementation of loop macros 2021-02-28 16:46:44 -05:00
util_loops.h sys: util: Update implementation of loop macros 2021-02-28 16:46:44 -05:00
util_macro.h sys: util: Update implementation of loop macros 2021-02-28 16:46:44 -05:00
util.h sys: util: add BIT64_MASK 2020-11-13 06:38:01 -05:00