]> git.tdb.fi Git - libs/core.git/blobdiff - source/core/windows/mutex.cpp
Move most platform-specific code into overlay directories
[libs/core.git] / source / core / windows / mutex.cpp
diff --git a/source/core/windows/mutex.cpp b/source/core/windows/mutex.cpp
new file mode 100644 (file)
index 0000000..e51fda4
--- /dev/null
@@ -0,0 +1,34 @@
+#include <windows.h>
+#include "mutex.h"
+#include "mutex_private.h"
+
+namespace Msp {
+
+Mutex::Mutex():
+       priv(new Private)
+{
+       InitializeCriticalSection(&priv->mutex);
+}
+
+Mutex::~Mutex()
+{
+       DeleteCriticalSection(&priv->mutex);
+       delete priv;
+}
+
+void Mutex::lock()
+{
+       EnterCriticalSection(&priv->mutex);
+}
+
+bool Mutex::trylock()
+{
+       return TryEnterCriticalSection(&priv->mutex);
+}
+
+void Mutex::unlock()
+{
+       LeaveCriticalSection(&priv->mutex);
+}
+
+} // namespace Msp