aboutsummaryrefslogtreecommitdiff
path: root/common/util.cpp
diff options
context:
space:
mode:
authorJames Brown2004-02-14 08:56:26 +0000
committerJames Brown2004-02-14 08:56:26 +0000
commit5ee96b4625a2bfa64ba2b06dc37527bf3238d851 (patch)
tree3c064602f07818996b135304a32bf9ce858e4cdf /common/util.cpp
parent6731606837debcc5aafa8b1680db9dae4a3e5887 (diff)
downloadscummvm-rg350-5ee96b4625a2bfa64ba2b06dc37527bf3238d851.tar.gz
scummvm-rg350-5ee96b4625a2bfa64ba2b06dc37527bf3238d851.tar.bz2
scummvm-rg350-5ee96b4625a2bfa64ba2b06dc37527bf3238d851.zip
Add mutex tracking to make it easier to debug imuse deadlocks
svn-id: r12870
Diffstat (limited to 'common/util.cpp')
-rw-r--r--common/util.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/common/util.cpp b/common/util.cpp
index 962f3d9afd..601894883d 100644
--- a/common/util.cpp
+++ b/common/util.cpp
@@ -103,8 +103,8 @@ uint RandomSource::getRandomNumberRng(uint min, uint max) {
#pragma mark -
-StackLock::StackLock(OSystem::MutexRef mutex, OSystem *syst)
- : _mutex(mutex), _syst(syst) {
+StackLock::StackLock(OSystem::MutexRef mutex, OSystem *syst, char *mutexName)
+ : _mutex(mutex), _syst(syst), _mutexName(mutexName) {
if (syst == 0)
_syst = g_system;
lock();
@@ -116,11 +116,17 @@ StackLock::~StackLock() {
void StackLock::lock() {
assert(_syst);
+ if (_mutexName != NULL)
+ debug(5, "Locking mutex %s", _mutexName);
+
_syst->lock_mutex(_mutex);
}
void StackLock::unlock() {
assert(_syst);
+ if (_mutexName != NULL)
+ debug(5, "Unlocking mutex %s", _mutexName);
+
_syst->unlock_mutex(_mutex);
}