Lock Class Reference

Ephemeral mutex or semaphore locking object. More...

#include <yateclass.h>

List of all members.

Public Member Functions

 Lock (Lockable &lck, long maxwait=-1)
 Lock (Lockable *lck, long maxwait=-1)
 ~Lock ()
Lockablelocked () const
void drop ()

Detailed Description

Ephemeral mutex or semaphore locking object.

A lock is a stack allocated (automatic) object that locks a lockable object on creation and unlocks it on destruction - typically when exiting a block


Constructor & Destructor Documentation

Lock ( Lockable lck,
long  maxwait = -1 
) [inline]

Create the lock, try to lock the object

Parameters:
lck Reference to the object to lock
maxwait Time in microseconds to wait, -1 wait forever

References Lockable::lock().

Lock ( Lockable lck,
long  maxwait = -1 
) [inline]

Create the lock, try to lock the object

Parameters:
lck Pointer to the object to lock
maxwait Time in microseconds to wait, -1 wait forever

References Lockable::lock().

~Lock (  )  [inline]

Destroy the lock, unlock the mutex if it was locked

References Lockable::unlock().


Member Function Documentation

void drop (  )  [inline]

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

Lockable* 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:
Generated on Thu Apr 8 18:19:41 2010 for Yate by  doxygen 1.6.3