changeset 2728:d6fbfce3fe40 draft

Fix DEBUG_LOCKCONTENTION
author Matt Corallo <matt@bluematt.me>
date Tue, 05 Jun 2012 16:12:32 +0200
parents 7a4711932964
children 5f7a933b4c45
files src/sync.cpp src/sync.h
diffstat 2 files changed, 13 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/sync.cpp
+++ b/src/sync.cpp
@@ -7,6 +7,14 @@
 
 #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
 //
 // Early deadlock detection.
--- a/src/sync.h
+++ b/src/sync.h
@@ -27,6 +27,10 @@
 void static inline LeaveCritical() {}
 #endif
 
+#ifdef DEBUG_LOCKCONTENTION
+void PrintLockContention(const char* pszName, const char* pszFile, int nLine);
+#endif
+
 /** Wrapper around boost::interprocess::scoped_lock */
 template<typename Mutex>
 class CMutexLock
@@ -43,8 +47,7 @@
 #ifdef DEBUG_LOCKCONTENTION
             if (!lock.try_lock())
             {
-                printf("LOCKCONTENTION: %s\n", pszName);
-                printf("Locker: %s:%d\n", pszFile, nLine);
+                PrintLockContention(pszName, pszFile, nLine);
 #endif
             lock.lock();
 #ifdef DEBUG_LOCKCONTENTION