65#if ALIB_DEBUG_CRITICAL_SECTIONS
164 const char* headline )
const;
unsigned int 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
ALIB_DLL void Acquire(const CallerInfo &ci) const
ALIB_DLL 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 ALIB_DLL const char * ASSERTION_FORMAT
CallerInfo DCSSAcq
Source location of acquirement.
CallerInfo DCSAcq
Source location of acquirement.
ALIB_DLL void Release(const CallerInfo &ci) const
ALIB_DLL void AcquireShared(const CallerInfo &ci) const
std::atomic< int > DCSReaderCnt
Tracks enter/exit calls of readers.
ALIB_DLL void ReleaseShared(const CallerInfo &ci) const
std::atomic< int > DCSWriterCnt
Tracks enter/exit calls (including readers)
~DbgCriticalSections()
Destructor. Checks that this instance is unused.