Peano
Loading...
Searching...
No Matches
tarch::multicore::MultiReadSingleWriteLock Class Reference

Create a lock around a boolean semaphore region. More...

#include <MultiReadSingleWriteLock.h>

Collaboration diagram for tarch::multicore::MultiReadSingleWriteLock:

Public Member Functions

 MultiReadSingleWriteLock (tarch::multicore::MultiReadSingleWriteSemaphore &semaphore, bool isReadLock, bool aquireLockImmediately=true)
 Construct lock.
 
 ~MultiReadSingleWriteLock ()
 
void lock ()
 
void free ()
 

Static Public Attributes

static constexpr bool Read = true
 
static constexpr bool Write = false
 

Private Attributes

MultiReadSingleWriteSemaphore_semaphore
 
const bool _isReadLock
 
bool _lockIsAquired
 

Detailed Description

Create a lock around a boolean semaphore region.

See also
tarch::multicore::BooleanSemaphore

Definition at line 19 of file MultiReadSingleWriteLock.h.

Constructor & Destructor Documentation

◆ MultiReadSingleWriteLock()

tarch::multicore::MultiReadSingleWriteLock::MultiReadSingleWriteLock ( tarch::multicore::MultiReadSingleWriteSemaphore & semaphore,
bool isReadLock,
bool aquireLockImmediately = true )

Construct lock.

We have to know what semaphore to use and if it is a read or a write lock.

Definition at line 6 of file MultiReadSingleWriteLock.cpp.

References lock().

Here is the call graph for this function:

◆ ~MultiReadSingleWriteLock()

tarch::multicore::MultiReadSingleWriteLock::~MultiReadSingleWriteLock ( )

Definition at line 19 of file MultiReadSingleWriteLock.cpp.

Member Function Documentation

◆ free()

void tarch::multicore::MultiReadSingleWriteLock::free ( )

Definition at line 38 of file MultiReadSingleWriteLock.cpp.

References assertion.

◆ lock()

void tarch::multicore::MultiReadSingleWriteLock::lock ( )

Definition at line 26 of file MultiReadSingleWriteLock.cpp.

References assertion.

Referenced by MultiReadSingleWriteLock().

Here is the caller graph for this function:

Field Documentation

◆ _isReadLock

const bool tarch::multicore::MultiReadSingleWriteLock::_isReadLock
private

Definition at line 22 of file MultiReadSingleWriteLock.h.

◆ _lockIsAquired

bool tarch::multicore::MultiReadSingleWriteLock::_lockIsAquired
private

Definition at line 23 of file MultiReadSingleWriteLock.h.

◆ _semaphore

MultiReadSingleWriteSemaphore& tarch::multicore::MultiReadSingleWriteLock::_semaphore
private

Definition at line 21 of file MultiReadSingleWriteLock.h.

◆ Read

◆ Write


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