Fix DEBUG_LOCKCONTENTION
This commit is contained in:
parent
45268208ae
commit
4d009243cb
2 changed files with 13 additions and 2 deletions
|
@ -7,6 +7,14 @@
|
||||||
|
|
||||||
#include <boost/foreach.hpp>
|
#include <boost/foreach.hpp>
|
||||||
|
|
||||||
|
#ifdef DEBUG_LOCKCONTENTION
|
||||||
|
void PrintLockContention(const char* pszName, const char* pszFile, int nLine)
|
||||||
|
{
|
||||||
|
printf("LOCKCONTENTION: %s\n", pszName);
|
||||||
|
printf("Locker: %s:%d\n", pszFile, nLine);
|
||||||
|
}
|
||||||
|
#endif /* DEBUG_LOCKCONTENTION */
|
||||||
|
|
||||||
#ifdef DEBUG_LOCKORDER
|
#ifdef DEBUG_LOCKORDER
|
||||||
//
|
//
|
||||||
// Early deadlock detection.
|
// Early deadlock detection.
|
||||||
|
|
|
@ -27,6 +27,10 @@ void static inline EnterCritical(const char* pszName, const char* pszFile, int n
|
||||||
void static inline LeaveCritical() {}
|
void static inline LeaveCritical() {}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef DEBUG_LOCKCONTENTION
|
||||||
|
void PrintLockContention(const char* pszName, const char* pszFile, int nLine);
|
||||||
|
#endif
|
||||||
|
|
||||||
/** Wrapper around boost::interprocess::scoped_lock */
|
/** Wrapper around boost::interprocess::scoped_lock */
|
||||||
template<typename Mutex>
|
template<typename Mutex>
|
||||||
class CMutexLock
|
class CMutexLock
|
||||||
|
@ -43,8 +47,7 @@ public:
|
||||||
#ifdef DEBUG_LOCKCONTENTION
|
#ifdef DEBUG_LOCKCONTENTION
|
||||||
if (!lock.try_lock())
|
if (!lock.try_lock())
|
||||||
{
|
{
|
||||||
printf("LOCKCONTENTION: %s\n", pszName);
|
PrintLockContention(pszName, pszFile, nLine);
|
||||||
printf("Locker: %s:%d\n", pszFile, nLine);
|
|
||||||
#endif
|
#endif
|
||||||
lock.lock();
|
lock.lock();
|
||||||
#ifdef DEBUG_LOCKCONTENTION
|
#ifdef DEBUG_LOCKCONTENTION
|
||||||
|
|
Loading…
Reference in a new issue