RTI Connext Micro C API
2.4.14.2
|
Abstract Semaphore API. More...
Typedefs | |
typedef struct OSAPI_Semaphore | OSAPI_Semaphore_T |
Abstract semaphore object. |
Functions | |
OSAPI_Semaphore_T * | OSAPI_Semaphore_new (void) |
Create a semaphore. | |
RTI_BOOL | OSAPI_Semaphore_delete (OSAPI_Semaphore_T *self) |
Delete a semaphore. | |
RTI_BOOL | OSAPI_Semaphore_take (OSAPI_Semaphore_T *self, RTI_INT32 timeout_ms, RTI_INT32 *fail_reason) |
Take a semaphore. | |
RTI_BOOL | OSAPI_Semaphore_give (OSAPI_Semaphore_T *self) |
Give a semaphore. |
Abstract Semaphore API.
typedef struct OSAPI_Semaphore OSAPI_Semaphore_T |
Abstract semaphore object.
OSAPI_Semaphore_T* OSAPI_Semaphore_new | ( | void | ) |
Create a semaphore.
The created semaphore is a binary semaphore with an initial semaphore value set to 0 and a maximum value of 1. Thus, a call to OSAPI_Semaphore_take will block until the semaphore is signaled with a call to OSAPI_Semaphore_give.
See Also OSAPI_Semaphore_delete
RTI_BOOL OSAPI_Semaphore_delete | ( | OSAPI_Semaphore_T * | self | ) |
Delete a semaphore.
[in] | self | Semaphore created with OSAPI_Semaphore_new. |
See Also OSAPI_Semaphore_new
RTI_BOOL OSAPI_Semaphore_take | ( | OSAPI_Semaphore_T * | self, |
RTI_INT32 | timeout_ms, | ||
RTI_INT32 * | fail_reason | ||
) |
Take a semaphore.
[in] | self | Semaphore previously created with OSAPI_Semaphore_new. |
[in] | timeout_ms | Timeout in ms. The take call will wait at most timeout ms before returning. If OSAPI_SEMAPHORE_TIMEOUT_INFINITE is specified, the call will not return until the semaphore has a value of 1 or higher. |
[out] | fail_reason | Additional information when the call returns. If RTI_TRUE is returned, but timed out, fail_reason is set to OSAPI_SEMAPHORE_RESULT_TIMEOUT, otherwise fail_reason is set to OSAPI_SEMAPHORE_RESULT_OK. If RTI_FALSE is returned, fail_reason is set to OSAPI_SEMAPHORE_RESULT_ERROR. |
See Also OSAPI_Semaphore_give
RTI_BOOL OSAPI_Semaphore_give | ( | OSAPI_Semaphore_T * | self | ) |
Give a semaphore.
[in] | self | Semaphore previously created with OSAPI_Semaphore_new. |
See Also OSAPI_Semaphore_take