*/
#include "Mutex.h"
+#include "debug.h"
#include <SDL/SDL.h>
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);
}
const Mutex& operator ==(const Mutex&);
private:
- SDL_mutex* m_pSDL_mutex;
+ SDL_mutex* m_pSDL_mutex;
+ unsigned int m_uiThreadID;
};
#endif // MUTEX_H