#include <unixstl/synch/semaphore.hpp>

Public Types | |
Member Constants | |
| enum | { maxCountValue = _POSIX_SEM_VALUE_MAX } |
Member Types | |
| typedef semaphore | class_type |
| typedef sem_t * | handle_type |
| typedef bool | bool_type |
| typedef size_t | count_type |
| typedef sem_t * | resource_type |
Public Member Functions | |
Construction | |
| semaphore (handle_type sem, bool_type bTakeOwnership) | |
| Conversion constructor. | |
| semaphore (count_type initialCount, bool_type bInterProcessShared=false) | |
| Creates an instance of the semaphore. | |
| ~semaphore () throw () | |
| Destroys an instance of the semaphore. | |
Operations | |
| void | lock () |
| Acquires a lock on the semaphore, pending the thread until the lock is aquired. | |
| bool_type | try_lock () |
| Attempts to lock the semaphore. | |
| void | unlock () |
| Releases an aquired lock on the semaphore, increasing the semaphore's counter by one. | |
Accessors | |
| handle_type | handle () throw () |
| The underlying kernel object handle. | |
| handle_type | get () throw () |
| The underlying kernel object handle. | |
| semaphore | ( | handle_type | sem, | |
| bool_type | bTakeOwnership | |||
| ) | [inline] |
| semaphore | ( | count_type | initialCount, | |
| bool_type | bInterProcessShared = false | |||
| ) | [inline, explicit] |
Creates an instance of the semaphore.
| void lock | ( | ) | [inline] |
Acquires a lock on the semaphore, pending the thread until the lock is aquired.
References UNIXSTL_ASSERT.
| bool_type try_lock | ( | ) | [inline] |
Attempts to lock the semaphore.
References UNIXSTL_ASSERT.
| void unlock | ( | ) | [inline] |
Releases an aquired lock on the semaphore, increasing the semaphore's counter by one.
References UNIXSTL_ASSERT.
| handle_type handle | ( | ) | throw () [inline] |
The underlying kernel object handle.
| handle_type get | ( | ) | throw () [inline] |
The underlying kernel object handle.
1.5.6