Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   Related Pages  

Wefts::Mutex Class Reference

Implements a very fast, non reentrant mutex. More...

#include <wefts_mutex.h>

Inheritance diagram for Wefts::Mutex:

Inheritance graph
[legend]
List of all members.

Public Methods

 Mutex ()
 Initializes the internal data of the mutex.

 ~Mutex ()
 Destroys the mutex.

virtual void lock ()
 Locks the mutex.

virtual void unlock ()
 Unlocks the mutex.


Protected Attributes

pthread_mutex_t m_mutex

Detailed Description

Implements a very fast, non reentrant mutex.

This is the fastest and smallest possible mutex. To be used when implementing the condition/mutex raw scheme or when a very small section of uninterruptable code is to be protected.

All mutex classes are implemented via inline calls to maximize execution speed; also, their metods are extremely small.


Constructor & Destructor Documentation

Wefts::Mutex::Mutex   [inline]
 

Initializes the internal data of the mutex.

Wefts::Mutex::~Mutex   [inline]
 

Destroys the mutex.

Only call this when the mutex is fully unlocked: destroyng a locked mutex has undefinded result.


Member Function Documentation

virtual void Wefts::Mutex::lock   [inline, virtual]
 

Locks the mutex.

If the calling thread is already owning the lock, the function will block producing an unavodiable and unininterruptable deadlock.

Reimplemented in Wefts::RMutex.

virtual void Wefts::Mutex::unlock   [inline, virtual]
 

Unlocks the mutex.

This method does not checks if the calling thread is the rightful owner of the mutex; unlocking a mutex from a thread that has not locked it has an undefined outcome.

Reimplemented in Wefts::RMutex.


Member Data Documentation

pthread_mutex_t Wefts::Mutex::m_mutex [protected]
 


The documentation for this class was generated from the following file:
Generated on Tue Aug 5 18:09:03 2003 for Wefts by doxygen1.2.18