added santiy checks to mutexes v0.09
authorPatrik Gornicz <Gornicz.P@gmail.com>
Tue, 20 Jan 2009 01:18:11 +0000 (20:18 -0500)
committerPatrik Gornicz <Gornicz.P@gmail.com>
Tue, 20 Jan 2009 01:18:11 +0000 (20:18 -0500)
src/locks/Mutex.cpp
src/locks/Mutex.h

index a533e83..e4004c6 100644 (file)
@@ -16,6 +16,7 @@
  */
 
 #include "Mutex.h"
+#include "debug.h"
 
 #include <SDL/SDL.h>
 
@@ -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);
 }
index fdba961..cac4d94 100644 (file)
@@ -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