The Semaphore class is used to manage and protect access to a set of shared resources. More...
#include <Semaphore.h>
 
  
 | Public Member Functions | |
| Semaphore (int32_t count=0) | |
| Create and Initialize a Semaphore object used for managing resources.  More... | |
| Semaphore (int32_t count, uint16_t max_count) | |
| Create and Initialize a Semaphore object used for managing resources.  More... | |
| void | acquire () | 
| Wait until a Semaphore resource becomes available.  More... | |
| bool | try_acquire () | 
| Try to acquire a Semaphore resource, and return immediately.  More... | |
| bool | try_acquire_for (uint32_t millisec) | 
| Wait until a Semaphore resource becomes available.  More... | |
| bool | try_acquire_for (Kernel::Clock::duration_u32 rel_time) | 
| Wait until a Semaphore resource becomes available.  More... | |
| bool | try_acquire_until (uint64_t millisec) | 
| Wait until a Semaphore resource becomes available.  More... | |
| bool | try_acquire_until (Kernel::Clock::time_point abs_time) | 
| Wait until a Semaphore resource becomes available.  More... | |
| osStatus | release (void) | 
| Release a Semaphore resource that was obtain with Semaphore::acquire.  More... | |
| ~Semaphore () | |
| Semaphore destructor.  More... | |
The Semaphore class is used to manage and protect access to a set of shared resources.
Definition at line 50 of file Semaphore.h.
| Semaphore | ( | int32_t | count = 0 | ) | 
Create and Initialize a Semaphore object used for managing resources.
| count | number of available resources; maximum index value is (count-1). (default: 0). | 
| Semaphore | ( | int32_t | count, | 
| uint16_t | max_count | ||
| ) | 
Create and Initialize a Semaphore object used for managing resources.
| count | number of available resources | 
| max_count | maximum number of available resources | 
| void acquire | ( | ) | 
Wait until a Semaphore resource becomes available.
| osStatus release | ( | void | ) | 
Release a Semaphore resource that was obtain with Semaphore::acquire.
| bool try_acquire | ( | ) | 
Try to acquire a Semaphore resource, and return immediately.
| bool try_acquire_for | ( | uint32_t | millisec | ) | 
Wait until a Semaphore resource becomes available.
| millisec | timeout value. | 
5s rather than 5000. | bool try_acquire_for | ( | Kernel::Clock::duration_u32 | rel_time | ) | 
Wait until a Semaphore resource becomes available.
| rel_time | timeout value. | 
| bool try_acquire_until | ( | uint64_t | millisec | ) | 
Wait until a Semaphore resource becomes available.
| millisec | absolute timeout time, referenced to Kernel::get_ms_count() | 
Kernel::Clock::now() + 5s rather than Kernel::get_ms_count() + 5000. | bool try_acquire_until | ( | Kernel::Clock::time_point | abs_time | ) | 
Wait until a Semaphore resource becomes available.
| millisec | absolute timeout time, referenced to Kernel::Clock |