CMutex Class Reference

#include <CMutex.h>

List of all members.

Public Member Functions

 CMutex ()
void lock () const
void unlock () const


Detailed Description

This class offers an abstraction from the locking method used.

The methods are defined as const, although, of course, the mMutex will change state during each method call

Definition at line 40 of file CMutex.h.


Constructor & Destructor Documentation

CMutex::CMutex (  ) 

constructor

Definition at line 31 of file CMutex.cc.

00032 {
00033 #ifdef __GIFT_USES_THREADS__
00034 #warning using threads
00035   pthread_mutexattr_init(&mMutexAttribute);
00036   assert(!(pthread_mutexattr_settype(&mMutexAttribute,
00037              PTHREAD_MUTEX_RECURSIVE_NP)));
00038   assert(!pthread_mutex_init(&mMutex,
00039            &mMutexAttribute));
00040 #else
00041 #warning NOT USING THREADS
00042 #endif
00043 }


Member Function Documentation

void CMutex::lock (  )  const

lock the mutex

Definition at line 44 of file CMutex.cc.

Referenced by CAttributeList::add(), CAcHierarchy::addEdge(), CAcHierarchy::addElement(), CSessionManager::addSessionLanguage(), CCommunicationHandler::addToMultiResponse(), CAcHierarchy::CAcHierarchy(), CAcIFFileSystem::CAcIFFileSystem(), CAcURL2FTS::CAcURL2FTS(), CAttributeList::CAttributeList(), CAcIFFileSystem::checkConsistency(), CSessionManager::clearSessionLanguages(), CSession::close(), CAccessorAdmin::closeAccessor(), CSessionManager::closeSession(), CSessionManager::commitSessionLanguages(), CSession::CSession(), CSessionManager::deleteSession(), CAcIFFileSystem::DIDToDFSquareSum(), CAcIFFileSystem::DIDToFeatureList(), CAcIFFileSystem::DIDToMaxDocumentFrequency(), CAcIFFileSystem::DIDToSquareDFLogICFSum(), CCommunicationHandler::endMultiRequest(), CAcIFFileSystem::FeatureToCollectionFrequency(), CAcIFFileSystem::FeatureToList(), CAcIFFileSystem::findWithinStream(), CDebuggingMemoryManager::FreeChunk(), CDebuggingMemoryManager::freeMem(), CAcIFFileSystem::generateInvertedFile(), CTimeStampGenerator::generateTimeStamp(), CSessionManager::getAlgorithms(), CAcIFFileSystem::getAllAccessorElements(), CAcIFFileSystem::getAllFeatureIDs(), CAcIFFileSystem::getAllIDs(), CAcHierarchy::getChildren(), CSessionManager::getCollections(), CAcIFFileSystem::getFeatureDescription(), CAcIFFileSystem::getFeatureFile(), CDebuggingMemoryManager::getMem(), CSessionManager::getPropertySheet(), CAcIFFileSystem::getRandomAccessorElements(), CAcIFFileSystem::getRandomIDs(), CSessionManager::getRandomImages(), CSession::getRandomImages(), CSessionManager::getSessionLanguages(), CAcIFFileSystem::IDToAccessorElement(), CAcURL2FTS::IDToFFN(), CAcIFFileSystem::IDToURL(), CAcIFFileSystem::init(), CAcHierarchy::init(), CCommunicationHandler::makeParser(), CSessionManager::makeQuery(), CAcIFFileSystem::newGenerateInvertedFile(), CSessionManager::newSession(), CSession::open(), CSessionManager::openSession(), CAcIFFileSystem::operator bool(), CAcIFFileSystem::operator()(), CCommunicationHandler::parseString(), CAcHierarchy::popNodeAndRegisterEdge(), CAcHierarchy::push(), CSession::query(), CSessionManager::read(), CSession::read(), CCommunicationHandler::readAndParse(), CSession::rename(), CSessionManager::renameSession(), CCommunicationHandler::sendHandshake(), sendMessage(), CSession::setActiveAlgorithm(), CSessionManager::setAlgorithm(), CCommunicationHandler::setPeerAddressString(), CSession::setSessionName(), CSession::setUser(), CAcURL2FTS::size(), CAcIFFileSystem::size(), CSessionManager::toXML(), CSession::toXML(), CSessionManager::toXMLSessions(), CSessionManager::translate(), CAcIFFileSystem::URLToFeatureList(), CAcURL2FTS::URLToFFN(), CAcIFFileSystem::URLToID(), CSessionManager::write(), CSession::write(), CAcIFFileSystem::writeOffsetFileElement(), CAcIFFileSystem::~CAcIFFileSystem(), CAcIFMeta::~CAcIFMeta(), and CCommunicationHandler::~CCommunicationHandler().

00044                       {
00045 #ifdef __GIFT_USES_THREADS__
00046 #warning using threads
00047   pthread_mutex_lock(&mMutex);
00048   //cout << "&{" << getpid() << "}"<< flush;
00049 #else
00050 #warning NOT USING THREADS
00051 #endif
00052 };

void CMutex::unlock (  )  const

unlock the mutex

Definition at line 53 of file CMutex.cc.

Referenced by CAttributeList::add(), CAcHierarchy::addEdge(), CAcHierarchy::addElement(), CSessionManager::addSessionLanguage(), CCommunicationHandler::addToMultiResponse(), CAcHierarchy::CAcHierarchy(), CAcIFFileSystem::CAcIFFileSystem(), CAcURL2FTS::CAcURL2FTS(), CAttributeList::CAttributeList(), CAcIFFileSystem::checkConsistency(), CSessionManager::clearSessionLanguages(), CSession::close(), CAccessorAdmin::closeAccessor(), CSessionManager::closeSession(), CSessionManager::commitSessionLanguages(), CSession::CSession(), CSessionManager::deleteSession(), CAcIFFileSystem::DIDToDFSquareSum(), CAcIFFileSystem::DIDToFeatureList(), CAcIFFileSystem::DIDToMaxDocumentFrequency(), CAcIFFileSystem::DIDToSquareDFLogICFSum(), CCommunicationHandler::endMultiRequest(), CAcIFFileSystem::FeatureToCollectionFrequency(), CAcIFFileSystem::FeatureToList(), CAcIFFileSystem::findWithinStream(), CDebuggingMemoryManager::FreeChunk(), CDebuggingMemoryManager::freeMem(), CAcIFFileSystem::generateInvertedFile(), CTimeStampGenerator::generateTimeStamp(), CSessionManager::getAlgorithms(), CAcIFFileSystem::getAllAccessorElements(), CAcIFFileSystem::getAllFeatureIDs(), CAcIFFileSystem::getAllIDs(), CAcHierarchy::getChildren(), CSessionManager::getCollections(), CAcIFFileSystem::getFeatureDescription(), CAcIFFileSystem::getFeatureFile(), CDebuggingMemoryManager::getMem(), CSessionManager::getPropertySheet(), CAcIFFileSystem::getRandomAccessorElements(), CAcIFFileSystem::getRandomIDs(), CSessionManager::getRandomImages(), CSession::getRandomImages(), CSessionManager::getSessionLanguages(), CAcIFFileSystem::IDToAccessorElement(), CAcURL2FTS::IDToFFN(), CAcIFFileSystem::IDToURL(), CAcIFFileSystem::init(), CAcHierarchy::init(), CCommunicationHandler::makeParser(), CSessionManager::makeQuery(), CAcIFFileSystem::newGenerateInvertedFile(), CSessionManager::newSession(), CSession::open(), CSessionManager::openSession(), CAcIFFileSystem::operator bool(), CAcIFFileSystem::operator()(), CCommunicationHandler::parseString(), CAcHierarchy::popNodeAndRegisterEdge(), CAcHierarchy::push(), CSession::query(), CSessionManager::read(), CSession::read(), CCommunicationHandler::readAndParse(), CSession::rename(), CSessionManager::renameSession(), CCommunicationHandler::sendHandshake(), sendMessage(), CSession::setActiveAlgorithm(), CSessionManager::setAlgorithm(), CCommunicationHandler::setPeerAddressString(), CSession::setSessionName(), CSession::setUser(), CAcURL2FTS::size(), CAcIFFileSystem::size(), CSessionManager::toXML(), CSession::toXML(), CSessionManager::toXMLHandshake(), CSessionManager::toXMLSessions(), CSessionManager::translate(), CAcIFFileSystem::URLToFeatureList(), CAcURL2FTS::URLToFFN(), CAcIFFileSystem::URLToID(), CSessionManager::write(), CSession::write(), CAcIFFileSystem::writeOffsetFileElement(), CAcIFFileSystem::~CAcIFFileSystem(), CAcIFMeta::~CAcIFMeta(), and CCommunicationHandler::~CCommunicationHandler().

00053                         {
00054 #ifdef __GIFT_USES_THREADS__
00055 #warning using threads
00056   pthread_mutex_unlock(&mMutex);
00057   //  cout << "u{" << getpid() << "}"<< flush;
00058 #else
00059 #warning NOT USING THREADS
00060 #endif
00061 }


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

Generated on Wed Jan 7 00:31:09 2009 for Gift by  doxygen 1.5.6