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)
 Request the AbstractSemaphore but timeout if not available.

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  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

References corelinux::AbstractSemaphore::setValue().


Member Function Documentation

SemaphoreOperationStatus corelinux::GuardSemaphore::release ( void   )  throw (SemaphoreException) [virtual]

Request the AbstractSemaphore but timeout if not available.

Release the lock

Implements corelinux::AbstractSemaphore.

References corelinux::AbstractSemaphore::setUnlock(), and corelinux::SUCCESS.


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

This is the CoreLinux++ reference manual
Provided by The CoreLinux Consortium