Softools, Inc. Development Tools

Home Contact Softools Support

TurboTask Semaphores

TurboTask Interrupt Support
TurboTask Message Boxes
TurboTask Queues
TurboTask Semaphores
Semaphores can also be used to implement Mutexes.

  TurboTask Semaphores
bullet Semaphores allow one or more tasks to suspend when the semaphore is not available. This allows resource sharing for single thread devices (e.g. an LCD display).
bulletPriority inversion is automatically avoided in TurboTask semaphores.
bulletWhen more than one task is waiting on a semaphore, the current task that has the lock has its priority set to that of the waiting task with the highest priority.  This prevents priority inversion.  When the task unlocks the semaphore, its priority is restored and the task with the highest priority that is waiting is made ready.
Copyright 2005, Softools, Inc. All rights reserved.