From cfcfde04802579a3528fad1a6907caa1b7410b29 Mon Sep 17 00:00:00 2001 From: uyjulian Date: Wed, 22 Jan 2020 02:35:48 -0600 Subject: [PATCH] Use locking on idle wait cond --- BasiliskII/src/Unix/timer_unix.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/BasiliskII/src/Unix/timer_unix.cpp b/BasiliskII/src/Unix/timer_unix.cpp index 6fb8cf3e..aa2e285c 100644 --- a/BasiliskII/src/Unix/timer_unix.cpp +++ b/BasiliskII/src/Unix/timer_unix.cpp @@ -386,8 +386,16 @@ void idle_wait(void) void idle_resume(void) { //This causes events to not process randomly in JIT so commented out - if (idle_cond) - SDL_CondSignal(idle_cond); + if (idle_lock) + { + SDL_LockMutex(idle_lock); + if (idle_cond) + { + SDL_CondSignal(idle_cond); + } + SDL_UnlockMutex(idle_lock); + } + // #ifdef IDLE_USES_COND_WAIT // pthread_cond_signal(&idle_cond); // #else