1 #if !defined(__SEMAPHORECOMMON_HPP)
2 #define __SEMAPHORECOMMON_HPP
24 #if !defined(__COMMON_HPP)
295 bool isOriginator(
void )
const;
297 Int getOriginatorId(
void )
const;
299 Int canonicalUndefined(
void );
325 MemoryStoragePtr theCSA;
330 static bool theInitializeFlag;
335 #endif // if !defined(__SEMAPHORECOMMON_HPP)
static Int groupUnDefined(SemaphoreGroupPtr)
When the local process is deleting a semaphore group and it is considered a shared group...
Definition: SemaphoreCommon.cpp:884
MemoryStorage is type of Storage characterized as transient and high speed.
Definition: MemoryStorage.hpp:47
CSAGrpHeaderPtr findGroup(IntCref, IntCref, CSAGrpHeaderPtr)
Attempt to locate a specific group.
Definition: SemaphoreCommon.cpp:657
static Int relinquishSemaphore(SemaphoreGroupPtr, Int)
Called when the semaphore is no longer being referenced.
Definition: SemaphoreCommon.cpp:1054
void registerGroup(SemaphoreGroupPtr)
Does the work of getting the group registered in the CSA.
Definition: SemaphoreCommon.cpp:253
Int reclaimSemaphore(SemaphoreGroupPtr, Int)
Called when a group wishes to let the CSA reclaim a semaphore share.
Definition: SemaphoreCommon.cpp:602
static Int waitZero(SemaphoreGroupPtr, Int, Int, Int)
Called by the base semaphore to wait for a specific semaphore to have a zero value.
Definition: SemaphoreCommon.cpp:979
Int deregisterGroup(SemaphoreGroupPtr)
Does the work of reducing the group share count, or marking the group for reclaimation.
Definition: SemaphoreCommon.cpp:411
CSAGrpHeaderPtr subsetGroup(Int, CSAGrpHeaderPtr)
Utility to clean CSA group tail.
Definition: SemaphoreCommon.cpp:737
The CoreLinuxGuardPool is a private SemaphoreGroup resource for class objects that require synchroniz...
Definition: CoreLinuxGuardPool.hpp:97
Synchronized(void)
Default constructor.
Definition: Synchronized.cpp:39
The SemaphoreCommon manages the SemaphoreGroup common storage area.
Definition: SemaphoreCommon.hpp:89
CSAGrpHeaderPtr findAvailableGroup(IntCref, IntCref, CSAGrpHeaderPtr)
Find open slot that fits count criteria.
Definition: SemaphoreCommon.cpp:684
static void exitAttachment(void)
On the way out from run-time.
Definition: SemaphoreCommon.cpp:1155
static void groupDefined(SemaphoreGroupPtr)
When a shared semaphore group is created, it is updated in the CSA, either by increasing the count of...
Definition: SemaphoreCommon.cpp:857
static Int setMaxValue(SemaphoreGroupPtr, Int, Int)
Called to set the semaphore maximum value.
Definition: SemaphoreCommon.cpp:1077
static Int setUnLock(SemaphoreGroupPtr, Int, Int, Int)
Called by the base semaphore to relinquish a lock for a specific semaphore.
Definition: SemaphoreCommon.cpp:943
Assertion is-a Exception created when an assertion fails.
Definition: Assertion.hpp:423
Synchronized is a mixin which allows class objects to enable monitor functionality.
Definition: Synchronized.hpp:41
Int claimSemaphore(SemaphoreGroupPtr, Int, IntRef, IntRef, IntRef, Int)
Called when the group is determined to be shared and a semaphore share is to be claimed.
Definition: SemaphoreCommon.cpp:487
static Int obtainSemaphore(SemaphoreGroupPtr, Int, IntRef, IntRef, IntRef, Int)
Typically called by a SemaphoreGroup prior to passing out the semaphore type to the caller...
Definition: SemaphoreCommon.cpp:1016
static Int getSemaphoreMaxValue(SemaphoreGroupPtr, Int)
Returns the maximum value for a semaphore as defined by the original semaphore claimant.
Definition: SemaphoreCommon.cpp:1103
virtual ~SemaphoreCommon(void)
Destructor.
Definition: SemaphoreCommon.cpp:223
static Int setLock(SemaphoreGroupPtr, Int, Int, Int)
Called by the base semaphore to aquire a lock for a specific semaphore.
Definition: SemaphoreCommon.cpp:905
A SemaphoreGroup is an extension to the Linux semaphore set.
Definition: SemaphoreGroup.hpp:62
SemaphoreCommon(void)
Default constructor used by class.
Definition: SemaphoreCommon.cpp:99
static void createAttachment(void)
Factory for CSA.
Definition: SemaphoreCommon.cpp:1131