Loading [MathJax]/extensions/tex2jax.js
Peano
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
tarch::multicore::RecursiveSemaphore Class Reference

Recursive Semaphore. More...

#include <RecursiveSemaphore.h>

Collaboration diagram for tarch::multicore::RecursiveSemaphore:

Public Types

using Lock = tarch::multicore::RecursiveLock
 

Public Member Functions

 RecursiveSemaphore ()
 
 ~RecursiveSemaphore ()
 

Private Member Functions

void enterCriticalSection ()
 
void leaveCriticalSection ()
 
bool tryEnterCriticalSection ()
 
 RecursiveSemaphore (const RecursiveSemaphore &)
 You may not copy a semaphore.
 
RecursiveSemaphoreoperator= (const RecursiveSemaphore &)
 You may not copy a semaphore.
 

Private Attributes

std::recursive_mutex _mutex
 

Friends

class tarch::multicore::RecursiveLock
 

Detailed Description

Recursive Semaphore.

A recursive semaphore is a boolean semphore that one thread (the first one) can lock an arbitrary number of times.

Author
Tobias Weinzierl

Definition at line 30 of file RecursiveSemaphore.h.

Member Typedef Documentation

◆ Lock

Constructor & Destructor Documentation

◆ RecursiveSemaphore() [1/2]

tarch::multicore::RecursiveSemaphore::RecursiveSemaphore ( const RecursiveSemaphore & )
private

You may not copy a semaphore.

Definition at line 43 of file RecursiveSemaphore.h.

◆ RecursiveSemaphore() [2/2]

tarch::multicore::RecursiveSemaphore::RecursiveSemaphore ( )

Definition at line 5 of file RecursiveSemaphore.cpp.

◆ ~RecursiveSemaphore()

tarch::multicore::RecursiveSemaphore::~RecursiveSemaphore ( )

Definition at line 9 of file RecursiveSemaphore.cpp.

Member Function Documentation

◆ enterCriticalSection()

void tarch::multicore::RecursiveSemaphore::enterCriticalSection ( )
private

Definition at line 13 of file RecursiveSemaphore.cpp.

◆ leaveCriticalSection()

void tarch::multicore::RecursiveSemaphore::leaveCriticalSection ( )
private

Definition at line 17 of file RecursiveSemaphore.cpp.

◆ operator=()

RecursiveSemaphore & tarch::multicore::RecursiveSemaphore::operator= ( const RecursiveSemaphore & )
private

You may not copy a semaphore.

Definition at line 48 of file RecursiveSemaphore.h.

◆ tryEnterCriticalSection()

bool tarch::multicore::RecursiveSemaphore::tryEnterCriticalSection ( )
private

Definition at line 21 of file RecursiveSemaphore.cpp.

Friends And Related Symbol Documentation

◆ tarch::multicore::RecursiveLock

friend class tarch::multicore::RecursiveLock
friend

Definition at line 32 of file RecursiveSemaphore.h.

Field Documentation

◆ _mutex

std::recursive_mutex tarch::multicore::RecursiveSemaphore::_mutex
private

Definition at line 34 of file RecursiveSemaphore.h.


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