From 17b43b0fdd38733889edd8124b96285b1eae0e74 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Sat, 8 Oct 2022 09:32:09 -0700 Subject: [PATCH] Don't try to create a semaphore for the mutex implementation if threads are disabled Fixes https://github.com/libsdl-org/SDL/issues/6344 --- src/thread/generic/SDL_sysmutex.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/thread/generic/SDL_sysmutex.c b/src/thread/generic/SDL_sysmutex.c index 42965aa8b..12cc58041 100644 --- a/src/thread/generic/SDL_sysmutex.c +++ b/src/thread/generic/SDL_sysmutex.c @@ -40,7 +40,9 @@ SDL_CreateMutex(void) SDL_mutex *mutex; /* Allocate mutex memory */ - mutex = (SDL_mutex *) SDL_malloc(sizeof(*mutex)); + mutex = (SDL_mutex *) SDL_calloc(1, sizeof(*mutex)); + +#if !SDL_THREADS_DISABLED if (mutex) { /* Create the mutex semaphore, with initial value 1 */ mutex->sem = SDL_CreateSemaphore(1); @@ -53,6 +55,8 @@ SDL_CreateMutex(void) } else { SDL_OutOfMemory(); } +#endif /* !SDL_THREADS_DISABLED */ + return mutex; }