blocxx
Public Member Functions | Private Member Functions | Private Attributes | Friends

BLOCXX_NAMESPACE::NonRecursiveMutex Class Reference

Note that descriptions of what exceptions may be thrown assumes that object is used correctly, i.e., method preconditions are satisfied. More...

#include <NonRecursiveMutex.hpp>

List of all members.

Public Member Functions

 NonRecursiveMutex ()
 Create a new NonRecursiveMutex object.
 ~NonRecursiveMutex ()
 Destroy this NonRecursiveMutex object.
void acquire ()
 Acquire ownership of this NonRecursiveMutex object.
bool release ()
 Release ownership of this NonRecursiveMutex object.

Private Member Functions

 NonRecursiveMutex (const NonRecursiveMutex &)
NonRecursiveMutexoperator= (const NonRecursiveMutex &)
void conditionPreWait (NonRecursiveMutexLockState &state)
void conditionPostWait (NonRecursiveMutexLockState &state)

Private Attributes

NonRecursiveMutex_t m_mutex

Friends

class Condition

Detailed Description

Note that descriptions of what exceptions may be thrown assumes that object is used correctly, i.e., method preconditions are satisfied.

Definition at line 52 of file NonRecursiveMutex.hpp.


Constructor & Destructor Documentation

BLOCXX_NAMESPACE::NonRecursiveMutex::NonRecursiveMutex ( )

Create a new NonRecursiveMutex object.

Exceptions:
Exceptionif needed system resources exhausted

Definition at line 54 of file NonRecursiveMutex.cpp.

References BLOCXX_THROW, BLOCXX_NAMESPACE::NonRecursiveMutexImpl::createMutex(), and m_mutex.

BLOCXX_NAMESPACE::NonRecursiveMutex::~NonRecursiveMutex ( )
BLOCXX_NAMESPACE::NonRecursiveMutex::NonRecursiveMutex ( const NonRecursiveMutex ) [private]

Member Function Documentation

void BLOCXX_NAMESPACE::NonRecursiveMutex::acquire ( )

Acquire ownership of this NonRecursiveMutex object.

This call will block if another thread has ownership of this NonRecursiveMutex. When it returns, the current thread will be the owner of this NonRecursiveMutex object. If this thread is the owner of the mutex, then an Deadlock exception will be thrown.

Precondition:
Mutex not currently locked by this thread.
Exceptions:
noexception

Definition at line 70 of file NonRecursiveMutex.cpp.

References BLOCXX_NAMESPACE::MutexImpl::acquireMutex(), BLOCXX_THROW, and m_mutex.

Referenced by BLOCXX_NAMESPACE::Exception::Exception(), BLOCXX_NAMESPACE::NonRecursiveMutexLock::lock(), and BLOCXX_NAMESPACE::MutexLock::lock().

void BLOCXX_NAMESPACE::NonRecursiveMutex::conditionPostWait ( NonRecursiveMutexLockState &  state) [private]
Exceptions:
noexception

Definition at line 98 of file NonRecursiveMutex.cpp.

References BLOCXX_THROW, BLOCXX_NAMESPACE::NonRecursiveMutexImpl::conditionPostWait(), and m_mutex.

void BLOCXX_NAMESPACE::NonRecursiveMutex::conditionPreWait ( NonRecursiveMutexLockState &  state) [private]
Exceptions:
noexception

Definition at line 90 of file NonRecursiveMutex.cpp.

References BLOCXX_THROW, BLOCXX_NAMESPACE::NonRecursiveMutexImpl::conditionPreWait(), and m_mutex.

NonRecursiveMutex& BLOCXX_NAMESPACE::NonRecursiveMutex::operator= ( const NonRecursiveMutex ) [private]
bool BLOCXX_NAMESPACE::NonRecursiveMutex::release ( )

Release ownership of this NonRecursiveMutex object.

If another thread is waiting to acquire the ownership of this mutex it will stop blocking and acquire ownership when this call returns.

Precondition:
Mutex currently locked by this thread.
Exceptions:
noexception

Definition at line 80 of file NonRecursiveMutex.cpp.

References BLOCXX_THROW, m_mutex, and BLOCXX_NAMESPACE::MutexImpl::releaseMutex().

Referenced by BLOCXX_NAMESPACE::NonRecursiveMutexLock::release(), BLOCXX_NAMESPACE::MutexLock::release(), and BLOCXX_NAMESPACE::Exception::~Exception().


Friends And Related Function Documentation

friend class Condition [friend]

Definition at line 88 of file NonRecursiveMutex.hpp.


Member Data Documentation

NonRecursiveMutex_t BLOCXX_NAMESPACE::NonRecursiveMutex::m_mutex [private]

The documentation for this class was generated from the following files: