diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-07-11 12:46:05 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-07-11 12:46:05 -0400 |
commit | e70db68fac1adbb5c9823231aa800658c4d7cc12 (patch) | |
tree | ae89ffba1ad57bd5b32929276d10efa1ece06d46 /libs/pbd/pbd/semutils.h | |
parent | 8b63e005a15afb4cf769fd0c7fc91e48dde254a2 (diff) |
Add implementation for ProcessSemaphore on windows
Diffstat (limited to 'libs/pbd/pbd/semutils.h')
-rw-r--r-- | libs/pbd/pbd/semutils.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/libs/pbd/pbd/semutils.h b/libs/pbd/pbd/semutils.h index 6f5f0e9331..0e8bed0512 100644 --- a/libs/pbd/pbd/semutils.h +++ b/libs/pbd/pbd/semutils.h @@ -19,13 +19,20 @@ #ifndef __pbd_semutils_h__ #define __pbd_semutils_h__ +#ifdef WIN32 +#include <windows.h> +#else #include <semaphore.h> +#endif namespace PBD { class ProcessSemaphore { private: -#ifdef __APPLE__ +#ifdef WIN32 + HANDLE _sem; + +#elif __APPLE__ sem_t* _sem; sem_t* ptr_to_sem() const { return _sem; } #else @@ -37,8 +44,15 @@ class ProcessSemaphore { ProcessSemaphore (const char* name, int val); ~ProcessSemaphore (); +#ifdef WIN32 + + int signal (); + int wait (); + +#else int signal () { return sem_post (ptr_to_sem()); } int wait () { return sem_wait (ptr_to_sem()); } +#endif }; } |