Remove PathScanner::run_scan and use PathScanner::run_scan_internal directly
[ardour.git] / libs / pbd / pbd / semutils.h
index 719a3d0f46042d228be1958c2aeacf52b1a08947..5c0191e25bfea4cb291d838117200d43d98b4ab3 100644 (file)
 #ifndef __pbd_semutils_h__
 #define __pbd_semutils_h__
 
+#ifdef PLATFORM_WINDOWS
+#include <windows.h>
+#else
 #include <semaphore.h>
+#endif
 
 #include "pbd/libpbd_visibility.h"
 
@@ -27,7 +31,10 @@ namespace PBD {
 
 class LIBPBD_API ProcessSemaphore {
   private:
-#ifdef __APPLE__
+#ifdef PLATFORM_WINDOWS
+       HANDLE _sem;
+
+#elif __APPLE__
        sem_t* _sem;
        sem_t* ptr_to_sem() const { return _sem; }
 #else
@@ -39,8 +46,15 @@ class LIBPBD_API ProcessSemaphore {
        ProcessSemaphore (const char* name, int val);
        ~ProcessSemaphore ();
 
+#ifdef PLATFORM_WINDOWS
+
+       int signal ();
+       int wait ();
+
+#else
        int signal () { return sem_post (ptr_to_sem()); }
        int wait () { return sem_wait (ptr_to_sem()); }
+#endif
 };
 
 }