From 6108c7e6b08d169a24b6492582ba145e5eee619e Mon Sep 17 00:00:00 2001 From: Stephanie Gawroriski Date: Tue, 23 Apr 2024 01:46:48 +0000 Subject: [PATCH] MacOS pthreads does not have pthread_yield(). --- nanocoat/cmake/threads.cmake | 7 ++++++- nanocoat/lib/base/multithread.c | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/nanocoat/cmake/threads.cmake b/nanocoat/cmake/threads.cmake index df7272ba33..abb1161440 100644 --- a/nanocoat/cmake/threads.cmake +++ b/nanocoat/cmake/threads.cmake @@ -33,7 +33,12 @@ elseif(Threads_FOUND) if (LINUX) add_compile_definitions( SJME_CONFIG_HAS_THREADS_PTHREAD_LINUX=1) - elseif (APPLE OR BSD) + elseif(APPLE OR BSD) + if(APPLE) + add_compile_definitions( + SJME_CONFIG_HAS_THREADS_PTHREAD_MACOS=1) + endif() + add_compile_definitions( SJME_CONFIG_HAS_THREADS_PTHREAD_BSD=1) endif() diff --git a/nanocoat/lib/base/multithread.c b/nanocoat/lib/base/multithread.c index e3666dcd07..cc537b42c2 100644 --- a/nanocoat/lib/base/multithread.c +++ b/nanocoat/lib/base/multithread.c @@ -112,7 +112,8 @@ void sjme_thread_yield(void) { #if defined(SJME_CONFIG_HAS_LINUX) sched_yield(); -#elif defined(SJME_CONFIG_HAS_THREADS_PTHREAD) +#elif defined(SJME_CONFIG_HAS_THREADS_PTHREAD_MACOS); +#elif defined(SJME_CONFIG_HAS_THREADS_PTHREAD_BSD) pthread_yield(); #elif defined(SJME_CONFIG_HAS_THREADS_WIN32) SwitchToThread(); -- 2.11.4.GIT