diff options
author | James Brown | 2004-02-14 08:56:26 +0000 |
---|---|---|
committer | James Brown | 2004-02-14 08:56:26 +0000 |
commit | 5ee96b4625a2bfa64ba2b06dc37527bf3238d851 (patch) | |
tree | 3c064602f07818996b135304a32bf9ce858e4cdf /common/util.cpp | |
parent | 6731606837debcc5aafa8b1680db9dae4a3e5887 (diff) | |
download | scummvm-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.cpp | 10 |
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); } |