Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

CSemaphoreGrant Class Reference

RAII-style semaphore lock. More...

#include <sync.h>

+ Collaboration diagram for CSemaphoreGrant:

Public Member Functions

void Acquire ()
 
void Release ()
 
bool TryAcquire ()
 
void MoveTo (CSemaphoreGrant &grant)
 
 CSemaphoreGrant ()
 
 CSemaphoreGrant (CSemaphore &sema, bool fTry=false)
 
 ~CSemaphoreGrant ()
 
 operator bool () const
 

Private Attributes

CSemaphoresem
 
bool fHaveGrant
 

Detailed Description

RAII-style semaphore lock.

Definition at line 231 of file sync.h.

Constructor & Destructor Documentation

◆ CSemaphoreGrant() [1/2]

CSemaphoreGrant::CSemaphoreGrant ( )
inline

Definition at line 269 of file sync.h.

◆ CSemaphoreGrant() [2/2]

CSemaphoreGrant::CSemaphoreGrant ( CSemaphore sema,
bool  fTry = false 
)
inlineexplicit

Definition at line 271 of file sync.h.

References Acquire(), and TryAcquire().

◆ ~CSemaphoreGrant()

CSemaphoreGrant::~CSemaphoreGrant ( )
inline

Definition at line 279 of file sync.h.

References Release().

Member Function Documentation

◆ Acquire()

void CSemaphoreGrant::Acquire ( )
inline

Definition at line 238 of file sync.h.

References fHaveGrant, sem, and CSemaphore::wait().

Referenced by CSemaphoreGrant().

◆ MoveTo()

void CSemaphoreGrant::MoveTo ( CSemaphoreGrant grant)
inline

Definition at line 261 of file sync.h.

References fHaveGrant, Release(), and sem.

Referenced by CConnman::OpenNetworkConnection().

◆ operator bool()

CSemaphoreGrant::operator bool ( ) const
inline

Definition at line 284 of file sync.h.

References fHaveGrant.

◆ Release()

void CSemaphoreGrant::Release ( )
inline

Definition at line 246 of file sync.h.

References fHaveGrant, CSemaphore::post(), and sem.

Referenced by CConnman::DisconnectNodes(), MoveTo(), and ~CSemaphoreGrant().

◆ TryAcquire()

bool CSemaphoreGrant::TryAcquire ( )
inline

Definition at line 254 of file sync.h.

References fHaveGrant, sem, and CSemaphore::try_wait().

Referenced by CSemaphoreGrant(), and CConnman::ThreadOpenAddedConnections().

Member Data Documentation

◆ fHaveGrant

bool CSemaphoreGrant::fHaveGrant
private

Definition at line 235 of file sync.h.

Referenced by Acquire(), MoveTo(), operator bool(), Release(), and TryAcquire().

◆ sem

CSemaphore* CSemaphoreGrant::sem
private

Definition at line 234 of file sync.h.

Referenced by Acquire(), MoveTo(), Release(), and TryAcquire().


The documentation for this class was generated from the following file:
Released under the MIT license