diff base/Thread.cpp @ 244:85bf384db35f

* Update to use new vamp-hostsdk instead of vamp-sdk * Make spectrogram adapt its paint block size depending on how long it actually takes to draw * Some thread debugging infrastructure
author Chris Cannam
date Fri, 02 Mar 2007 13:01:41 +0000
parents 61a2ac1241b3
children 115f60df1e4d
line wrap: on
line diff
--- a/base/Thread.cpp	Thu Mar 01 17:12:50 2007 +0000
+++ b/base/Thread.cpp	Fri Mar 02 13:01:41 2007 +0000
@@ -19,6 +19,10 @@
 #include <pthread.h>
 #endif
 
+//#define DEBUG_MUTEX_LOCKER 1
+
+#include <iostream>
+
 Thread::Thread(Type type, QObject *parent) :
     QThread(parent),
     m_type(type)
@@ -53,3 +57,33 @@
 #endif
 }
 
+MutexLocker::MutexLocker(QMutex *mutex, const char *name) :
+    m_printer(name),
+    m_locker(mutex)
+{
+#ifdef DEBUG_MUTEX_LOCKER
+    std::cerr << "... locked mutex " << mutex << std::endl;
+#endif
+}
+
+MutexLocker::~MutexLocker()
+{
+}
+
+MutexLocker::Printer::Printer(const char *name) :
+    m_name(name)
+{
+#ifdef DEBUG_MUTEX_LOCKER
+    std::cerr << "MutexLocker: Locking   \"" << m_name << "\" in "
+              << (void *)QThread::currentThreadId() << std::endl;
+#endif
+}
+
+MutexLocker::Printer::~Printer()
+{
+#ifdef DEBUG_MUTEX_LOCKER
+    std::cerr << "MutexLocker: Unlocking \"" << m_name
+              << "\" in " << (void *)QThread::currentThreadId() << std::endl;
+#endif
+}
+