PTLib  Version 2.18.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PMutexExcessiveLockInfo Class Reference

#include <mutex.h>

Inheritance diagram for PMutexExcessiveLockInfo:
Collaboration diagram for PMutexExcessiveLockInfo:

Public Member Functions

void SetLocationName (const char *name)
 

Protected Member Functions

 PMutexExcessiveLockInfo ()
 
 PMutexExcessiveLockInfo (const PDebugLocation &location, unsigned timeout)
 
 PMutexExcessiveLockInfo (const PMutexExcessiveLockInfo &other)
 
virtual ~PMutexExcessiveLockInfo ()
 
void Construct (unsigned timeout)
 
void PrintOn (ostream &strm) const
 
void ExcessiveLockPhantom (const PObject &mutex) const
 
virtual void AcquiredLock (uint64_t startWaitCycle, bool readOnly, const PDebugLocation &location)
 
virtual void ReleasedLock (const PObject &mutex, uint64_t startHeldSamplePoint, bool readOnly, const PDebugLocation &location)
 

Static Protected Member Functions

static unsigned MinDeadlockTime (unsigned waitTime)
 

Protected Attributes

PDebugLocation m_location
 
unsigned m_excessiveLockTimeout
 
atomic< bool > m_excessiveLockActive
 
uint64_t m_startHeldSamplePoint
 

Constructor & Destructor Documentation

PMutexExcessiveLockInfo::PMutexExcessiveLockInfo ( )
protected
PMutexExcessiveLockInfo::PMutexExcessiveLockInfo ( const PDebugLocation location,
unsigned  timeout 
)
protected
PMutexExcessiveLockInfo::PMutexExcessiveLockInfo ( const PMutexExcessiveLockInfo other)
protected
virtual PMutexExcessiveLockInfo::~PMutexExcessiveLockInfo ( )
inlineprotectedvirtual

Member Function Documentation

virtual void PMutexExcessiveLockInfo::AcquiredLock ( uint64_t  startWaitCycle,
bool  readOnly,
const PDebugLocation location 
)
protectedvirtual
void PMutexExcessiveLockInfo::Construct ( unsigned  timeout)
protected
void PMutexExcessiveLockInfo::ExcessiveLockPhantom ( const PObject mutex) const
protected
static unsigned PMutexExcessiveLockInfo::MinDeadlockTime ( unsigned  waitTime)
staticprotected
void PMutexExcessiveLockInfo::PrintOn ( ostream &  strm) const
protected
virtual void PMutexExcessiveLockInfo::ReleasedLock ( const PObject mutex,
uint64_t  startHeldSamplePoint,
bool  readOnly,
const PDebugLocation location 
)
protectedvirtual
void PMutexExcessiveLockInfo::SetLocationName ( const char *  name)
inline

Member Data Documentation

atomic<bool> PMutexExcessiveLockInfo::m_excessiveLockActive
mutableprotected
unsigned PMutexExcessiveLockInfo::m_excessiveLockTimeout
protected
PDebugLocation PMutexExcessiveLockInfo::m_location
protected

Referenced by SetLocationName().

uint64_t PMutexExcessiveLockInfo::m_startHeldSamplePoint
protected

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