This class provides the services that all the mutex have to implement This allows to define a interface so that you can use the mutex services without knowing the implementation (shared, or normal). More...
#include <AbstractMutex.h>
Public Member Functions | |
virtual | ~AbstractMutex () |
destructor | |
void | lock () |
lock the mutex | |
void | unlock () |
unlock the mutex | |
Static Public Member Functions | |
static int32_t | getSize () |
Protected Member Functions | |
AbstractMutex () | |
void | init (int32_t processShared) |
Protected Attributes | |
pthread_mutex_t * | lock_ |
pointer to Mutex in Shared Memory | |
bool | memoryOwner_ |
This class provides the services that all the mutex have to implement This allows to define a interface so that you can use the mutex services without knowing the implementation (shared, or normal).
Definition at line 19 of file AbstractMutex.h.
fesa::AbstractMutex::~AbstractMutex | ( | ) | [virtual] |
fesa::AbstractMutex::AbstractMutex | ( | ) | [inline, protected] |
Definition at line 63 of file AbstractMutex.h.
int32_t fesa::AbstractMutex::getSize | ( | ) | [static] |
Definition at line 56 of file AbstractMutex.cpp.
Referenced by fesa::ShmRollingMultiplexingDataManager::computeMemorySize(), fesa::ShmMultiplexingDataManager::computeMemorySize(), fesa::HeapRollingMultiplexingDataManager::computeMemorySize(), fesa::HeapMultiplexingDataManager::computeMemorySize(), fesa::DataStore::getMemorySizeToAllocate(), fesa::ShmRollingMultiplexingDataManager::mapMemory(), fesa::ShmMultiplexingDataManager::mapMemory(), fesa::HeapRollingMultiplexingDataManager::mapMemory(), and fesa::HeapMultiplexingDataManager::mapMemory().
void fesa::AbstractMutex::init | ( | int32_t | processShared | ) | [protected] |
Definition at line 61 of file AbstractMutex.cpp.
References FesaErrorDestroyingMutexAttribute, FesaErrorInitializingMutex, FesaErrorInitializingMutexAttribute, FesaErrorSettingPrivateMutexAttribute, lock_, and fesa::StringUtilities::toString().
Referenced by fesa::Mutex::Mutex(), and fesa::SharedMutex::SharedMutex().
void fesa::AbstractMutex::lock | ( | ) |
lock the mutex
Definition at line 36 of file AbstractMutex.cpp.
References lock_.
Referenced by fesa::Lock::Lock(), fesa::ProxyReplyHandler::ProxyReplyHandler(), and fesa::FesaDeviceServer::~FesaDeviceServer().
void fesa::AbstractMutex::unlock | ( | ) |
unlock the mutex
Definition at line 46 of file AbstractMutex.cpp.
References lock_.
Referenced by fesa::Lock::~Lock().
fesa::AbstractMutex::lock_ [protected] |
pointer to Mutex in Shared Memory
Definition at line 49 of file AbstractMutex.h.
Referenced by init(), lock(), fesa::Mutex::Mutex(), fesa::SharedMutex::SharedMutex(), unlock(), fesa::ConditionalVariable::wait(), and ~AbstractMutex().
bool fesa::AbstractMutex::memoryOwner_ [protected] |
Definition at line 60 of file AbstractMutex.h.
Referenced by fesa::Mutex::Mutex(), fesa::SharedMutex::SharedMutex(), and ~AbstractMutex().