zephyr/kernel
Andy Ross 4c2fc2aed7 kernel/queue: Fix SMP race
Calling z_ready_thread() means the thread is now ready and can wake up
at any moment on another CPU.  But we weren't finished setting the
return value!  So the other side could wake up with a spurious "error"
condition if it ran too soon.  Note that on systems with a working
IPI, that wakeup can happen much faster than you might think.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2020-01-21 14:47:52 -08:00
..
include kernel/swap: Add SMP "wait for switch" synchronization 2020-01-21 14:47:52 -08:00
atomic_c.c
CMakeLists.txt
compiler_stack_protect.c
device.c
errno.c
fatal.c
futex.c
idle.c
init.c
Kconfig kernel: kconfig: Make SCHED_IPI_SUPPORTED invisible 2020-01-20 18:38:10 -05:00
Kconfig.power_mgmt
mailbox.c
mem_domain.c
mem_slab.c kernel: mem_slab: error handling 2020-01-20 17:19:54 -05:00
mempool.c
msg_q.c kernel: msgq: error handling 2020-01-20 17:19:54 -05:00
mutex.c
pipes.c
poll.c
queue.c kernel/queue: Fix SMP race 2020-01-21 14:47:52 -08:00
sched.c kernel/swap: Add SMP "wait for switch" synchronization 2020-01-21 14:47:52 -08:00
sem.c
smp.c
stack.c kernel: stack: error handling 2020-01-20 17:19:54 -05:00
system_work_q.c
thread_abort.c
thread.c kernel/swap: Add SMP "wait for switch" synchronization 2020-01-21 14:47:52 -08:00
timeout.c
timer.c
userspace_handler.c
userspace.c
version.c
work_q.c