From 70a501d8ecf6b490aae1d4a0ef6fa19ff1e0910a Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Wed, 26 Apr 2023 14:02:45 -0400 Subject: [PATCH] winrt: Don't reference generic Condition Variables at all. It always has the SRWLOCK implementation available to it, so let the linker throw away the generic version if possible. --- src/thread/windows/SDL_syscond_cv.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/thread/windows/SDL_syscond_cv.c b/src/thread/windows/SDL_syscond_cv.c index 3cdd59b30d..e0ac306adc 100644 --- a/src/thread/windows/SDL_syscond_cv.c +++ b/src/thread/windows/SDL_syscond_cv.c @@ -194,10 +194,9 @@ static const SDL_cond_impl_t SDL_cond_impl_cv = { &SDL_CondWaitTimeoutNS_cv, }; -/** - * Generic Condition Variable implementation using SDL_mutex and SDL_sem - */ +#ifndef __WINRT__ +/* Generic Condition Variable implementation using SDL_mutex and SDL_sem */ static const SDL_cond_impl_t SDL_cond_impl_generic = { &SDL_CreateCond_generic, &SDL_DestroyCond_generic, @@ -205,13 +204,13 @@ static const SDL_cond_impl_t SDL_cond_impl_generic = { &SDL_CondBroadcast_generic, &SDL_CondWaitTimeoutNS_generic, }; +#endif SDL_cond * SDL_CreateCond(void) { if (SDL_cond_impl_active.Create == NULL) { - /* Default to generic implementation, works with all mutex implementations */ - const SDL_cond_impl_t *impl = &SDL_cond_impl_generic; + const SDL_cond_impl_t *impl = NULL; if (SDL_mutex_impl_active.Type == SDL_MUTEX_INVALID) { /* The mutex implementation isn't decided yet, trigger it */ @@ -228,6 +227,8 @@ SDL_CreateCond(void) /* Link statically on this platform */ impl = &SDL_cond_impl_cv; #else + /* Default to generic implementation, works with all mutex implementations */ + impl = &SDL_cond_impl_generic; { HMODULE kernel32 = GetModuleHandle(TEXT("kernel32.dll")); if (kernel32) {