blocxx
Functions

BLOCXX_NAMESPACE::NonRecursiveMutexImpl Namespace Reference

The NonRecursiveMutexImpl namespace represents the functionality needed by the BloCxx non recursive Mutex class (NonRecursiveMutex). More...

Functions

BLOCXX_COMMON_API int createMutex (NonRecursiveMutex_t &handle)
 Create a platform specific mutext handle.
BLOCXX_COMMON_API int destroyMutex (NonRecursiveMutex_t &handle)
 Destroy a mutex previously created with createMutex.
BLOCXX_COMMON_API int acquireMutex (NonRecursiveMutex_t &handle)
 Acquire the mutex specified by a given mutex handle.
BLOCXX_COMMON_API int releaseMutex (NonRecursiveMutex_t &handle)
 Release a mutex that was previously acquired with the acquireMutex method.
BLOCXX_COMMON_API int conditionPreWait (NonRecursiveMutex_t &handle, NonRecursiveMutexLockState &state)
BLOCXX_COMMON_API int conditionPostWait (NonRecursiveMutex_t &handle, NonRecursiveMutexLockState &state)

Detailed Description

The NonRecursiveMutexImpl namespace represents the functionality needed by the BloCxx non recursive Mutex class (NonRecursiveMutex).

The implementation for these function must be provided on all platforms that BloCxx is avaliable for. It is essentially an abstraction layer over another mutex implementation.


Function Documentation

BLOCXX_COMMON_API int BLOCXX_NAMESPACE::NonRecursiveMutexImpl::acquireMutex ( NonRecursiveMutex_t &  handle)

Acquire the mutex specified by a given mutex handle.

This method should block until the desired mutex can be acquired. The error return value is used to indicate critical errors.

Parameters:
handleThe mutex to acquire.
Returns:
0 on success. -1 indicates a critical error.
BLOCXX_COMMON_API int BLOCXX_NAMESPACE::NonRecursiveMutexImpl::conditionPostWait ( NonRecursiveMutex_t &  handle,
NonRecursiveMutexLockState &  state 
)
BLOCXX_COMMON_API int BLOCXX_NAMESPACE::NonRecursiveMutexImpl::conditionPreWait ( NonRecursiveMutex_t &  handle,
NonRecursiveMutexLockState &  state 
)
BLOCXX_COMMON_API int BLOCXX_NAMESPACE::NonRecursiveMutexImpl::createMutex ( NonRecursiveMutex_t &  handle)

Create a platform specific mutext handle.

Parameters:
handleThe mutex handle that should be initialized by this method
isRecursiveSpecified whether to create a recursive mutex
Returns:
0 on success. Otherwise -1.

Referenced by BLOCXX_NAMESPACE::NonRecursiveMutex::NonRecursiveMutex().

BLOCXX_COMMON_API int BLOCXX_NAMESPACE::NonRecursiveMutexImpl::destroyMutex ( NonRecursiveMutex_t &  handle)

Destroy a mutex previously created with createMutex.

Parameters:
handleThe handle to the mutex that will be destroyed.
Returns:
The following error codes: 0: success -1: Could not be acquired for destruction because it is currently locked. -2: All other error conditions

Referenced by BLOCXX_NAMESPACE::NonRecursiveMutex::~NonRecursiveMutex().

BLOCXX_COMMON_API int BLOCXX_NAMESPACE::NonRecursiveMutexImpl::releaseMutex ( NonRecursiveMutex_t &  handle)

Release a mutex that was previously acquired with the acquireMutex method.

Parameters:
handleThe handle to the mutex that is being released.
Returns:
0 on success. -1 indicates a critical error.