---
name: "corelinux_GuardSemaphore"
section: "3"
platform: "linux"
package: "libcorelinux-dev"
version: "0.4.32-5"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/corelinux_GuardSemaphore"
---

# corelinux\_GuardSemaphore(3)

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

## NAME

corelinux::GuardSemaphore - **GuardSemaphore** is a special case semaphore for use by the **CoreLinuxGuardPool**.

## SYNOPSIS

`#include <GuardSemaphore.hpp>`

Inherits **corelinux::Semaphore**.

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

## Author

Generated automatically by Doxygen for CoreLinux++ from the source code.
