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:
handle The 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:
handle The mutex handle that should be initialized by this method
isRecursive Specified whether to create a recursive mutex
Returns:
0 on success. Otherwise -1.
BLOCXX_COMMON_API int BLOCXX_NAMESPACE::NonRecursiveMutexImpl::destroyMutex ( NonRecursiveMutex_t &  handle  ) 

Destroy a mutex previously created with createMutex.

Parameters:
handle The 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
BLOCXX_COMMON_API int BLOCXX_NAMESPACE::NonRecursiveMutexImpl::releaseMutex ( NonRecursiveMutex_t &  handle  ) 

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

Parameters:
handle The handle to the mutex that is being released.
Returns:
0 on success. -1 indicates a critical error.
Generated on Mon Jul 5 20:00:03 2010 for blocxx by  doxygen 1.6.3