Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Examples

corelinux::GuardSemaphore Class Reference

GuardSemaphore is a special case semaphore for use by the CoreLinuxGuardPool. More...

#include <GuardSemaphore.hpp>

Inheritance diagram for corelinux::GuardSemaphore:

corelinux::Semaphore corelinux::AbstractSemaphore corelinux::Synchronized List of all members.

Public Member Functions

 GuardSemaphore (SemaphoreGroupPtr, SemaphoreIdentifierRef) throw (Assertion)
 Default constructor requires the identifier of the semaphore in the semaphore group.

virtual ~GuardSemaphore (void)
 Virtual Destructor.

virtual SemaphoreOperationStatus lockWithWait (void) throw (SemaphoreException)
 Request the lock, wait for availability.

virtual SemaphoreOperationStatus lockWithNoWait (void) throw (SemaphoreException)
 Request the lock without waiting.

virtual bool isLocked (void)
 Ask if AbstractSemaphore instance is locked.

virtual SemaphoreOperationStatus release (void) throw (SemaphoreException)
 Release the lock.


Protected Member Functions

 GuardSemaphore (void) throw (Assertion)
 Default constructor throws assertion.

 GuardSemaphore (GuardSemaphoreCref) throw (Assertion)
 Copy constructor throws assertion.

GuardSemaphoreRef operator= (GuardSemaphoreCref) throw (Assertion)
 Assignment operator throws assertion.


Detailed Description

GuardSemaphore is a special case semaphore for use by the CoreLinuxGuardPool.

It has the basic behavior of a MutexSemaphore without the recursion and balking capability. Its sole use is for Synchronized object monitor control.

See also:
corelinux::CoreLinuxGuardPool

corelinux::Semaphore


Constructor & Destructor Documentation

corelinux::GuardSemaphore::GuardSemaphore SemaphoreGroupPtr  ,
SemaphoreIdentifierRef 
throw (Assertion)
 

Default constructor requires the identifier of the semaphore in the semaphore group.

Parameters:
SemaphoreGroup The owning SemaphoreGroup
SemaphoreIdentifier The identifier from the Semaphore Group


The documentation for this class was generated from the following files:
This is the CoreLinux++ reference manual
Provided by The CoreLinux Consortium