RTI Connext DDS Micro C++ API  2.4.14.2
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
OSAPI Semaphore

Abstract Semaphore API. More...

Typedefs

typedef struct OSAPI_Semaphore OSAPI_Semaphore_T
 Abstract semaphore object.

Functions

OSAPI_Semaphore_TOSAPI_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.

Detailed Description

Abstract Semaphore API.


Typedef Documentation

typedef struct OSAPI_Semaphore OSAPI_Semaphore_T

Abstract semaphore object.


Function Documentation

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.

Returns:
Pointer to a semaphore with a value of 0 on success, NULL on failure.

See Also OSAPI_Semaphore_delete

RTI_BOOL OSAPI_Semaphore_delete ( OSAPI_Semaphore_T self)

Delete a semaphore.

Parameters:
[in]selfSemaphore created with OSAPI_Semaphore_new.
Returns:
RTI_TRUE on success, RTI_FALSE on failure.

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.

Parameters:
[in]selfSemaphore previously created with OSAPI_Semaphore_new.
[in]timeout_msTimeout 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_reasonAdditional 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.
Returns:
RTI_TRUE on success, RTI_FALSE on failure.

See Also OSAPI_Semaphore_give

RTI_BOOL OSAPI_Semaphore_give ( OSAPI_Semaphore_T self)

Give a semaphore.

Parameters:
[in]selfSemaphore previously created with OSAPI_Semaphore_new.
Returns:
RTI_TRUE on success, RTI_FALSE on failure.

See Also OSAPI_Semaphore_take


RTI Connext DDS Micro C++ API 2.4.14.2 Copyright © Tue May 28 2024 Real-Time Innovations, Inc