From c345ab81b4a6fa9fff277661fa1e5eb8b78dbbf5 Mon Sep 17 00:00:00 2001 From: Mooneer Salem Date: Sun, 18 May 2025 22:21:29 -0400 Subject: [PATCH] macOS: add protection in case semaphore wasn't created. --- src/pipeline/ParallelStep.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/pipeline/ParallelStep.cpp b/src/pipeline/ParallelStep.cpp index 46f625b3..5c8636dd 100644 --- a/src/pipeline/ParallelStep.cpp +++ b/src/pipeline/ParallelStep.cpp @@ -118,7 +118,10 @@ ParallelStep::ParallelStep( fallbackToSleep = true; } #elif defined(__APPLE__) - dispatch_semaphore_wait(s->sem, DISPATCH_TIME_FOREVER); + if (s->sem != nullptr) + { + dispatch_semaphore_wait(s->sem, DISPATCH_TIME_FOREVER); + } #else if (sem_wait(&s->sem) < 0) { @@ -160,8 +163,11 @@ ParallelStep::~ParallelStep() CloseHandle(tmpSem); } #elif defined(__APPLE__) - dispatch_semaphore_signal(taskThread->sem); - dispatch_release(taskThread->sem); + if (taskThread->sem != nullptr) + { + dispatch_semaphore_signal(taskThread->sem); + dispatch_release(taskThread->sem); + } #else sem_post(&taskThread->sem); sem_destroy(&taskThread->sem);