jlaitine opened a new pull request, #3067:
URL: https://github.com/apache/nuttx-apps/pull/3067

   
   ## Summary
   
   "kill" sends the signal to all the the threads in the group. The intention 
of the test is to send signals only to the "waiter" thread.
   
   I believe this test has been broken since 2023 when the test changed from 
using tasks to using pthreads. This has gone unnoticed since the test doesn't 
really fail in single CPU systems, even if the signals were executed in other 
thread's context than the "waiter".
   
   In SMP systems, the signest test threads actually run in parallel, so 
scheduling signal actions to different threads in the same group causes also 
signal actions to run in parallel (for different signal numbers of course).
   
   Running signal actions in parallel is not compatible behaviour with the 
signest test, which assumes that signals are being run one after another. For 
example running signals 38 and 40 in parallel on two threads/two cpus would 
cause the test incorrectly fail on "even signals nested". Or, sending two 
signals with the same number sequentially may be scheduled to two threads/two 
cpus, and end up running in paralle..
   
   ## Impact
   
   Fixes ostest:
   1. Removes false negatives in SMP caused by the explanation in Summary
   2. Removes false positives in SMP caused by signals being run by other 
threads than intended - before this they may get executed by "ostest" or 
"interferer" threads as well.
   
   ## Testing
   
   Tested in qemu rv-virt:smp w. 8 cores and mpfs with 4 cores.
   


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

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

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

Reply via email to