Fix priority inheritance bug

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1584 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2009-03-10 00:24:37 +00:00
parent dc8b78447a
commit 7f0c37a469

View File

@ -175,9 +175,14 @@ int sem_wait(FAR sem_t *sem)
* cannot cause a context switch because we have preemption
* disabled. The task will be marked "pending" and the switch
* will occur during up_block_task() processing.
*
* NOTE that we have to restore base_priority because
* up_reprioritize_rtr() should set both.
*/
int base_priority = htcb->base_priority;
up_reprioritize_rtr(htcb, rtcb->sched_priority);
htcb->base_priority = base_priority;
}
#endif
/* Add the TCB to the prioritized semaphore wait queue */