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

LOW_objectSynchronizer::__synchronizeMethodWriteWeak Class Reference

Weak write locking class to ensure exclusive access. More...

#include <LOW_objectSynchronizer.h>

Collaboration diagram for LOW_objectSynchronizer::__synchronizeMethodWriteWeak:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 __synchronizeMethodWriteWeak (LOW_objectSynchronizer &inObjectSynchronizer, std::string inFile, int inLine)
 Obtain the weak write lock.

 ~__synchronizeMethodWriteWeak ()
 Release the weak write lock.


Private Attributes

LOW_objectSynchronizerobjectSynchronizer
 Reference to the object to lock on.

bool wasObtainedWeakly
 Indicate if lock was really obtained.


Detailed Description

Weak write locking class to ensure exclusive access.

Works similar to __synchronizeMethodRead with one difference in the following situation: If the calling thread already has a write lock then no blocking will occur and no lock will be obtained.

Definition at line 497 of file LOW_objectSynchronizer.h.


Constructor & Destructor Documentation

LOW_objectSynchronizer::__synchronizeMethodWriteWeak::__synchronizeMethodWriteWeak LOW_objectSynchronizer inObjectSynchronizer,
std::string  inFile,
int  inLine
[inline]
 

Obtain the weak write lock.

Inlined for performance reasons.

Parameters:
inObjectSynchronizer Reference to the object to synchronize on.

Definition at line 505 of file LOW_objectSynchronizer.h.

References LOW_platformMisc::getThreadID(), LOW_thread_rwlock::lockWrite(), objectSynchronizer, LOW_objectSynchronizer::objectSyncRwlock, LOW_helper_msglog::objSync_getLock_dl, LOW_helper_msglog::objSync_lockFailed_dl, LOW_helper_msglog::printDebug(), LOW_thread_rwlock::tryLockWrite(), wasObtainedWeakly, and LOW_objectSynchronizer::writeLockHolder.

LOW_objectSynchronizer::__synchronizeMethodWriteWeak::~__synchronizeMethodWriteWeak  )  [inline]
 

Release the weak write lock.

Inlined for performance reasons.

Definition at line 537 of file LOW_objectSynchronizer.h.

References objectSynchronizer, LOW_objectSynchronizer::objectSyncRwlock, LOW_thread_rwlock::unlock(), wasObtainedWeakly, and LOW_objectSynchronizer::writeLockHolder.


Member Data Documentation

LOW_objectSynchronizer& LOW_objectSynchronizer::__synchronizeMethodWriteWeak::objectSynchronizer [private]
 

Reference to the object to lock on.

Definition at line 549 of file LOW_objectSynchronizer.h.

Referenced by __synchronizeMethodWriteWeak(), and ~__synchronizeMethodWriteWeak().

bool LOW_objectSynchronizer::__synchronizeMethodWriteWeak::wasObtainedWeakly [private]
 

Indicate if lock was really obtained.

Definition at line 550 of file LOW_objectSynchronizer.h.

Referenced by __synchronizeMethodWriteWeak(), and ~__synchronizeMethodWriteWeak().


The documentation for this class was generated from the following file:
Generated on Tue Feb 3 11:31:04 2004 for OneWireLibrary++ by doxygen 1.3.2