RTI Connext Cert C API  Version 2.4.15
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
OSAPI Mutex

Mutex API. More...

Typedefs

typedef struct OSAPI_Mutex OSAPI_Mutex_T
 The abstract mutex type.

Functions

OSAPI_Mutex_TOSAPI_Mutex_new (void)
 Create a mutex.
RTI_BOOL OSAPI_Mutex_take (OSAPI_Mutex_T *self)
 Take a mutex.
RTI_BOOL OSAPI_Mutex_give (OSAPI_Mutex_T *self)
 Give a mutex.

Detailed Description

Mutex API.


Typedef Documentation

typedef struct OSAPI_Mutex OSAPI_Mutex_T

The abstract mutex type.


Function Documentation

OSAPI_Mutex_T* OSAPI_Mutex_new ( void  )

Create a mutex.

Returns:
Pointer to a mutex in a not taken condition. NULL on failure.
RTI_BOOL OSAPI_Mutex_take ( OSAPI_Mutex_T self)

Take a mutex.

A mutex can only be taken if it is not currently already taken by another thread; however, it can be taken if is it already taken by the same thread. In order to release a mutex, it must be given as many times as it has been taken. Take will block indefinitely.

Note: The mutex is not required to support priority inversion; there is no protection against deadlocks or starvation.

Parameters:
self<<in>> Take a mutex previously created with OSAPI_Mutex_new.
Returns:
RTI_TRUE on success, RTI_FALSE on failure.
RTI_BOOL OSAPI_Mutex_give ( OSAPI_Mutex_T self)

Give a mutex.

A mutex can only be given if it is owned by the calling thread. The mutex must be given as many times as it has been taken.

Parameters:
self<<in>> Take a mutex previously created with OSAPI_Mutex_new.
Returns:
RTI_TRUE on success, RTI_FALSE on failure.

RTI Connext Cert C API Version 2.4.15 Copyright © Tue Jan 21 2025 Real-Time Innovations, Inc