Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound 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

Inheritance graph
[legend]
Collaboration diagram for corelinux::GuardSemaphore:

Collaboration graph
[legend]
List of all members.

Public Methods

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

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 Methods

 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 aGroup,
SemaphoreIdentifierRef aIdentifier ) 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