mirror of
https://github.com/apache/nuttx.git
synced 2026-08-08 22:17:18 +00:00
This caused a problem when the thread calling sem_wait() was very low priority. When it received the count, there may be higher priority threads "hogging" the CPU that prevent the lower priority task from running and, as a result, the sem_addholder() may be delayed indefinitely. The fix was to have sem_post() call sem_addholder() just before restarting the thread waiting for the semaphore count. This problem was noted by Benix Vincent who also suggested the solution. |
||
|---|---|---|
| .. | ||
| Make.defs | ||
| sem_destroy.c | ||
| sem_holder.c | ||
| sem_initialize.c | ||
| sem_post.c | ||
| sem_recover.c | ||
| sem_reset.c | ||
| sem_tickwait.c | ||
| sem_timedwait.c | ||
| sem_timeout.c | ||
| sem_trywait.c | ||
| sem_wait.c | ||
| sem_waitirq.c | ||
| semaphore.h | ||
| spinlock.c | ||