X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fpbd%2Fsemutils.cc;h=7f31d30fafca5d5d8c32629bb1695b089c99468e;hb=6fa88273aa779be36dbe17f5d6c8566fcf22366b;hp=cf7b54d30e2babd036853a29ebc87d2e284e48f1;hpb=3020b224fa2d6e1b6b8a576e8e8e211e0585f2a2;p=ardour.git diff --git a/libs/pbd/semutils.cc b/libs/pbd/semutils.cc index cf7b54d30e..7f31d30faf 100644 --- a/libs/pbd/semutils.cc +++ b/libs/pbd/semutils.cc @@ -21,9 +21,9 @@ using namespace PBD; -ProcessSemaphore::ProcessSemaphore (const char* name, int val) +Semaphore::Semaphore (const char* name, int val) { -#ifdef PLATFORM_WINDOWS +#ifdef WINDOWS_SEMAPHORE if ((_sem = CreateSemaphore(NULL, val, 32767, name)) == NULL) { throw failed_constructor (); } @@ -34,7 +34,7 @@ ProcessSemaphore::ProcessSemaphore (const char* name, int val) } /* this semaphore does not exist for IPC */ - + if (sem_unlink (name)) { throw failed_constructor (); } @@ -48,26 +48,26 @@ ProcessSemaphore::ProcessSemaphore (const char* name, int val) #endif } -ProcessSemaphore::~ProcessSemaphore () +Semaphore::~Semaphore () { -#ifdef PLATFORM_WINDOWS +#ifdef WINDOWS_SEMAPHORE CloseHandle(_sem); #elif __APPLE__ sem_close (ptr_to_sem()); #endif } -#ifdef PLATFORM_WINDOWS +#ifdef WINDOWS_SEMAPHORE int -ProcessSemaphore::signal () +Semaphore::signal () { // non-zero on success, opposite to posix return !ReleaseSemaphore(_sem, 1, NULL); } int -ProcessSemaphore::wait () +Semaphore::wait () { DWORD result = 0; result = WaitForSingleObject(_sem, INFINITE);