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


   ## Summary
   sigdeliver: fix system block when kill signal to idle in SMP
   
       Bug description:
       
       CONFIG_SMP=y
       
       Suppose we have 2 cores in SMP, here is the ps return:
       
       PID GROUP CPU PRI POLICY TYPE    NPX STATE     STACK   USED  FILLED 
COMMAND
         0     0   0   0 FIFO   Kthread N-- Assigned 004076 000748  18.3%  CPU0 
IDLE
         1     0   1   0 FIFO   Kthread N-- Running  004096 000540  13.1%  CPU1 
IDLE
       
       nsh> kill -4 0
       or:
       nsh> kill -4 1
       
       system blocked.
       
       Reason:
       
       In func xx_sigdeliver() restore stage, when saved_irqcount == 0, that 
means
       rtcb NOT in critical_section before switch to xx_sigdeliver(), then we 
need
       reset the critical_section state before swith back.
       
       Fix:
       
       Add condition to cover saved_irqcount == 0.
   
   
   ## Impact
   
   ## Testing
   
   


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