macOS: add protection in case semaphore wasn't created.
parent
ed2e683391
commit
c345ab81b4
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue