mirror of
https://github.com/apache/nuttx.git
synced 2026-08-07 05:27:17 +00:00
Summary: - I noticed waitpid_test stops with lc823450-xgevk:rndis - The condition was CONFIG_DEBUG_ASSERTION=y - Actually, the child task sent SIGCHILD but the parent couldn't catch the signal - Then, I found that nx_waitid(), nx_waitpid() use sched_lock() - However, a parent task and a child task are running on different CPUs - So, sched_lock() is not enough and need to use a critical section - Also, signal handling in nxtask_exithook() must be done in a critical section Impact: - SMP only Testing: - Tested with ostest with the following configurations - lc823450-xgevk:rndis (CONFIG_DEBUG_ASSERTION=y and n) - spresense:smp - spresense:wifi_smp (NCPUS=2 and 4) - sabre-6quad:smp (QEMU) - esp32-core:smp (QEMU) - maix-bit:smp (QEMU) - sim:smp Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com> |
||
|---|---|---|
| .. | ||
| clock | ||
| environ | ||
| group | ||
| init | ||
| irq | ||
| module | ||
| mqueue | ||
| paging | ||
| pthread | ||
| sched | ||
| semaphore | ||
| signal | ||
| task | ||
| timer | ||
| wdog | ||
| wqueue | ||
| Kconfig | ||
| Makefile | ||