66#if ALIB_DEBUG_CRITICAL_SECTIONS
163 const char* headline )
const;
unsigned DBG_CRITICAL_SECTION_YIELD_OR_SLEEP_TIME_IN_NS
virtual ~AssociatedLock()
Virtual Destructor.
virtual bool DCSIsAcquired() const =0
virtual bool DCSIsSharedAcquired() const =0
int DCSYieldOrSleepTimeInNS
CallerInfo DCSSRel
Source location of the last "reader" seen.
void yieldOrSleep() const
void Acquire(const CallerInfo &ci) const
void doAssert(bool cond, const CallerInfo &ciAssert, const CallerInfo &ci, const char *headline) const
CallerInfo DCSRel
Source location of the last "reader" seen.
DbgCriticalSections(const char *name)
const char * DCSName
The name of this DCS. Used for debug-output.
static const char * ASSERTION_FORMAT
CallerInfo DCSSAcq
Source location of acquirement.
CallerInfo DCSAcq
Source location of acquirement.
void Release(const CallerInfo &ci) const
void AcquireShared(const CallerInfo &ci) const
std::atomic< int > DCSReaderCnt
Tracks enter/exit calls of readers.
void ReleaseShared(const CallerInfo &ci) const
std::atomic< int > DCSWriterCnt
Tracks enter/exit calls (including readers).
~DbgCriticalSections()
Destructor. Checks that this instance is unused.