From 002fd13cf3966163e9a7b48ae43f4812661e1cc1 Mon Sep 17 00:00:00 2001 From: Patrik Gornicz Date: Mon, 19 Jan 2009 20:18:11 -0500 Subject: [PATCH] added santiy checks to mutexes --- src/locks/Mutex.cpp | 13 +++++++++---- src/locks/Mutex.h | 3 ++- 2 files changed, 11 insertions(+), 5 deletions(-) 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 -- 2.10.2