casacore::Mutex Class Reference

Wrapper around a pthreads mutex. More...

#include <Mutex.h>

List of all members.

Public Types

enum  Type {
  Normal,
  ErrorCheck,
  Recursive,
  Default,
  Auto
}
 

Define the type of mutex.

More...

Public Member Functions

 Mutex (Type type=Auto)
 Create the mutex.
 ~Mutex ()
 Destroy the mutex.
void lock ()
 Set a lock on the mutex.
void unlock ()
 Unlock the mutex.
bool trylock ()
 Try to lock the mutex.

Private Member Functions

 Mutex (const Mutex &)
 Forbid copy constructor.
Mutexoperator= (const Mutex &)
 Forbid assignment.

Private Attributes

void * itsMutex

Detailed Description

Wrapper around a pthreads mutex.

Intended use:

Public interface

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25

Synopsis

This class is a wrapper around a phtreads mutex.
Although the Mutex class has a lock function, class ScopedMutexLock should be used to obtain a lock, because it makes locking exception-safe.

Definition at line 49 of file Mutex.h.


Member Enumeration Documentation

Define the type of mutex.

(see phtread_mutexattr_settype for their meaning). In Debug mode, type Auto will use PTHREAD_MUTEX_ERRORCHECK, otherwise PTHREAD_MUTEX_DEFAULT.

Enumerator:
Normal 
ErrorCheck 
Recursive 
Default 
Auto 

Definition at line 56 of file Mutex.h.


Constructor & Destructor Documentation

casacore::Mutex::Mutex ( Type  type = Auto  ) 

Create the mutex.

casacore::Mutex::~Mutex (  ) 

Destroy the mutex.

casacore::Mutex::Mutex ( const Mutex  )  [private]

Forbid copy constructor.


Member Function Documentation

void casacore::Mutex::lock (  ) 

Set a lock on the mutex.

It waits till it gets the lock.

Referenced by casacore::ScopedMutexLock::ScopedMutexLock().

Mutex& casacore::Mutex::operator= ( const Mutex  )  [private]

Forbid assignment.

bool casacore::Mutex::trylock (  ) 

Try to lock the mutex.

True is returned if it succeeded.

void casacore::Mutex::unlock (  ) 

Unlock the mutex.

Referenced by casacore::ScopedMutexLock::~ScopedMutexLock().


Member Data Documentation

void* casacore::Mutex::itsMutex [private]

Definition at line 81 of file Mutex.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1