Yate
WLock Class Reference

#include <yateclass.h>

Public Member Functions

 WLock (RWLock &lck, long maxWait=-1)
 
 WLock (RWLock *lck, long maxWait=-1)
 
 ~WLock ()
 
RWLocklocked () const
 
void drop ()
 
bool acquire (RWLock *lck, long maxWait=-1)
 
bool acquire (RWLock &lck, long maxWait=-1)
 

Detailed Description

Ephemeral read lock on a read-write lock (stack allocated lock that is locked on creation and unlocked in destructor

Constructor & Destructor Documentation

◆ WLock() [1/2]

WLock ( RWLock & lck,
long maxWait = -1 )
inline

Create the lock, try to lock the object

Parameters
lckReference to the object to lock
maxWaitTime in microseconds to wait, -1 wait forever

References RWLock::writeLock().

◆ WLock() [2/2]

WLock ( RWLock * lck,
long maxWait = -1 )
inline

Create the lock, try to lock the object

Parameters
lckPointer to the object to lock
maxWaitTime in microseconds to wait, -1 wait forever

References RWLock::writeLock().

◆ ~WLock()

~WLock ( )
inline

Destroy the lock, unlock the mutex if it was locked

Member Function Documentation

◆ acquire() [1/2]

bool acquire ( RWLock & lck,
long maxWait = -1 )
inline

Attempt to acquire a new lock on another object

Parameters
lckReference to the object to lock
maxWaitTime in microseconds to wait, -1 wait forever
Returns
True if locking succeeded or same object was locked

◆ acquire() [2/2]

bool acquire ( RWLock * lck,
long maxWait = -1 )
inline

Attempt to acquire a new lock on another object

Parameters
lckPointer to the object to lock
maxWaitTime in microseconds to wait, -1 wait forever
Returns
True if locking succeeded or same object was locked

References RWLock::writeLock().

◆ drop()

void drop ( )
inline

Unlock the object if it was locked and drop the reference to it

◆ locked()

RWLock * locked ( ) const
inline

Return a pointer to the lockable object this lock holds

Returns
A pointer to a Lockable or NULL if locking failed

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