mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-09-02 11:22:44 +00:00
test_queue_supv_to_user() invokes a child thread which does some work which must take place before the call to k_queue_cancel_wait() is called by the parent. However, with SMP enabled, the child thread will just run on another CPU and we have a race between when child_thread_get() calls k_queue_get(q, K_FOREVER) and the parent calls k_queue_cancel_wait(). If the parent thread gets there first, the whole test hangs as the call to k_queue_get(q, K_FOREVER) sits forever. The fix is to have test_queue_supv_to_user() be a 1cpu test, which ensures that only one CPU is used. It's not clear to me why this wasn't causing CI failures on other SMP targets, but I am able to reproduce reliably on qemu_x86_64 with my user mode patches applied. Signed-off-by: Andrew Boie <andrew.p.boie@intel.com> |
||
---|---|---|
.. | ||
src | ||
CMakeLists.txt | ||
prj_poll.conf | ||
prj.conf | ||
testcase.yaml |