From: Patrik Gornicz Date: Tue, 20 Jan 2009 01:18:11 +0000 (-0500) Subject: added santiy checks to mutexes X-Git-Tag: v0.09^0 X-Git-Url: http://gitweb.pgornicz.com/gitweb.cgi?p=physics.git;a=commitdiff_plain;h=002fd13cf3966163e9a7b48ae43f4812661e1cc1 added santiy checks to mutexes --- diff --git a/src/locks/Mutex.cpp b/src/locks/Mutex.cpp index a533e83..e4004c6 100644 --- a/src/locks/Mutex.cpp +++ b/src/locks/Mutex.cpp @@ -16,6 +16,7 @@ */ #include "Mutex.h" +#include "debug.h" #include @@ -46,11 +47,15 @@ bool Mutex::IsValid() void Mutex::Lock() { - if(IsValid()) - SDL_mutexP(m_pSDL_mutex); + DASSERT(IsValid()); + + SDL_mutexP(m_pSDL_mutex); + m_uiThreadID = SDL_ThreadID(); } void Mutex::Unlock() { - if(IsValid()) - SDL_mutexV(m_pSDL_mutex); + DASSERT(IsValid()); + + DASSERT(m_uiThreadID == SDL_ThreadID()); + SDL_mutexV(m_pSDL_mutex); } diff --git a/src/locks/Mutex.h b/src/locks/Mutex.h index fdba961..cac4d94 100644 --- a/src/locks/Mutex.h +++ b/src/locks/Mutex.h @@ -43,7 +43,8 @@ private: const Mutex& operator ==(const Mutex&); private: - SDL_mutex* m_pSDL_mutex; + SDL_mutex* m_pSDL_mutex; + unsigned int m_uiThreadID; }; #endif // MUTEX_H