macOS: add protection in case semaphore wasn't created.

pull/876/head
Mooneer Salem 2025-05-18 22:21:29 -04:00
parent ed2e683391
commit c345ab81b4
1 changed files with 9 additions and 3 deletions

View File

@ -118,7 +118,10 @@ ParallelStep::ParallelStep(
fallbackToSleep = true; fallbackToSleep = true;
} }
#elif defined(__APPLE__) #elif defined(__APPLE__)
if (s->sem != nullptr)
{
dispatch_semaphore_wait(s->sem, DISPATCH_TIME_FOREVER); dispatch_semaphore_wait(s->sem, DISPATCH_TIME_FOREVER);
}
#else #else
if (sem_wait(&s->sem) < 0) if (sem_wait(&s->sem) < 0)
{ {
@ -160,8 +163,11 @@ ParallelStep::~ParallelStep()
CloseHandle(tmpSem); CloseHandle(tmpSem);
} }
#elif defined(__APPLE__) #elif defined(__APPLE__)
if (taskThread->sem != nullptr)
{
dispatch_semaphore_signal(taskThread->sem); dispatch_semaphore_signal(taskThread->sem);
dispatch_release(taskThread->sem); dispatch_release(taskThread->sem);
}
#else #else
sem_post(&taskThread->sem); sem_post(&taskThread->sem);
sem_destroy(&taskThread->sem); sem_destroy(&taskThread->sem);