sigtimedwait: When timer expires, up_unblock_task() is called. This is okay in the single CPU case because interrupts are disable in the timer interrupt handler. But it is insufficient in the SMP case. enter_ and leave_critical_section() must be called in order to manage spinlocks correctly.

This commit is contained in:
Gregory Nutt
2017-02-24 10:07:23 -06:00
parent e08660c335
commit dca77fa06a
6 changed files with 49 additions and 7 deletions
+1 -1
View File
@@ -224,7 +224,7 @@ FAR struct mqueue_msg_s *mq_msgalloc(void)
*
* Assumptions/restrictions:
* - The caller has verified the input parameters using mq_verifysend().
* - Interrupts are disabled.
* - Executes within a critical section established by the caller.
*
****************************************************************************/