masayuki2009 opened a new pull request #2298:
URL: https://github.com/apache/incubator-nuttx/pull/2298


   ## 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
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to