#include <SemaphoreCommon.hpp>
Inheritance diagram for corelinux::SemaphoreCommon:
Static Public Member Functions | |
Int | getSemaphoreMaxValue (SemaphoreGroupPtr, Int) |
Returns the maximum value for a semaphore as defined by the original semaphore claimant. | |
void | groupDefined (SemaphoreGroupPtr) |
When a shared semaphore group is created, it is updated in the CSA, either by increasing the count of processes accessing a particular group, or adding to the csa initially. | |
Int | groupUnDefined (SemaphoreGroupPtr) |
When the local process is deleting a semaphore group and it is considered a shared group, we are asked to adjust the map accordingly. | |
Int | setLock (SemaphoreGroupPtr, Int, Int, Int) |
Called by the base semaphore to aquire a lock for a specific semaphore. | |
Int | setUnLock (SemaphoreGroupPtr, Int, Int, Int) |
Called by the base semaphore to relinquish a lock for a specific semaphore. | |
Int | waitZero (SemaphoreGroupPtr, Int, Int, Int) |
Called by the base semaphore to wait for a specific semaphore to have a zero value. | |
Int | obtainSemaphore (SemaphoreGroupPtr, Int, IntRef, IntRef, IntRef, Int) |
Typically called by a SemaphoreGroup prior to passing out the semaphore type to the caller. | |
Int | relinquishSemaphore (SemaphoreGroupPtr, Int) |
Called when the semaphore is no longer being referenced. | |
Int | setMaxValue (SemaphoreGroupPtr, Int, Int) |
Called to set the semaphore maximum value. | |
Protected Member Functions | |
SemaphoreCommon (void) | |
Default constructor used by class. | |
virtual | ~SemaphoreCommon (void) |
Destructor. | |
void | registerGroup (SemaphoreGroupPtr) |
Does the work of getting the group registered in the CSA. | |
Int | deregisterGroup (SemaphoreGroupPtr) |
Does the work of reducing the group share count, or marking the group for reclaimation. | |
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. | |
Int | reclaimSemaphore (SemaphoreGroupPtr, Int) |
Called when a group wishes to let the CSA reclaim a semaphore share. | |
CSAGrpHeaderPtr | findGroup (IntCref, IntCref, CSAGrpHeaderPtr) |
Attempt to locate a specific group. | |
CSAGrpHeaderPtr | findAvailableGroup (IntCref, IntCref, CSAGrpHeaderPtr) |
Find open slot that fits count criteria. | |
CSAGrpHeaderPtr | subsetGroup (Int, CSAGrpHeaderPtr) |
Utility to clean CSA group tail. | |
CSAGrpHeaderPtr | combineGroup (Int, CSAGrpHeaderPtr) |
bool | isOriginator (void) const |
Int | getOriginatorId (void) const |
Int | canonicalUndefined (void) |
Static Protected Member Functions | |
void | createAttachment (void) |
Factory for CSA. | |
void | exitAttachment (void) |
On the way out from run-time. |
This area is to communicate between address spaces when using one of the CoreLinux++ SemaphoreGroup types in public mode.
|
Called when the group is determined to be shared and a semaphore share is to be claimed.
|
|
Does the work of reducing the group share count, or marking the group for reclaimation.
|
|
Returns the maximum value for a semaphore as defined by the original semaphore claimant.
|
|
When a shared semaphore group is created, it is updated in the CSA, either by increasing the count of processes accessing a particular group, or adding to the csa initially.
|
|
When the local process is deleting a semaphore group and it is considered a shared group, we are asked to adjust the map accordingly.
|
|
Typically called by a SemaphoreGroup prior to passing out the semaphore type to the caller.
|
|
Called when a group wishes to let the CSA reclaim a semaphore share.
|
|
Does the work of getting the group registered in the CSA.
|
|
Called when the semaphore is no longer being referenced. Effectively reducing the share count for shared group semaphores
|
|
Called by the base semaphore to aquire a lock for a specific semaphore.
|
|
Called to set the semaphore maximum value. For local this is SETVAL, for shared it is ignored
|
|
Called by the base semaphore to relinquish a lock for a specific semaphore.
|
|
Called by the base semaphore to wait for a specific semaphore to have a zero value.
|