| 123456789101112131415161718192021222324252627282930313233343536373839 | 
							- #ifndef WIN32_WRAPPED_MUTEX_H
 
- #define WIN32_WRAPPED_MUTEX_H
 
- #include <Windows.h>
 
- /**
 
-  * Wraps a windows mutex.
 
-  * Header only since all the methods call one function, we want them to be inlined
 
-  **/
 
- class WrappedMutex
 
- {
 
- public:
 
-     WrappedMutex()
 
-     {
 
-         this->_mutex = CreateMutex(
 
-             NULL,  // default security attributes
 
-             FALSE, // initially not owned
 
-             NULL); // unnamed mutex
 
-     }
 
-     ~WrappedMutex()
 
-     {
 
-         CloseHandle(_mutex);
 
-     }
 
-     void lock()
 
-     {
 
-         WaitForSingleObject(_mutex, INFINITE);
 
-     }
 
-     void unlock()
 
-     {
 
-         ReleaseMutex(_mutex);
 
-     }
 
- private:
 
-     HANDLE _mutex;
 
- };
 
- #endif
 
 
  |