race condition fix from 2007 (gpsp09-2xb_1)
authornotaz <notaz@pixelinis>
Thu, 21 May 2009 15:36:58 +0000 (18:36 +0300)
committernotaz <pixelinis>
Thu, 21 May 2009 15:49:42 +0000 (18:49 +0300)
sound.c

diff --git a/sound.c b/sound.c
index 55985fc..44177ff 100644 (file)
--- a/sound.c
+++ b/sound.c
@@ -579,13 +579,13 @@ void update_gbc_sound(u32 cpu_ticks)
 
   address16(io_registers, 0x84) = sound_status;
 
-  SDL_CondSignal(sound_cv);
-
-  SDL_UnlockMutex(sound_mutex);
-
   gbc_sound_last_cpu_ticks = cpu_ticks;
   gbc_sound_buffer_index =
    (gbc_sound_buffer_index + (buffer_ticks * 2)) % BUFFER_SIZE;
+
+  SDL_UnlockMutex(sound_mutex);
+
+  SDL_CondSignal(sound_cv);
 }
 
 #define sound_copy_normal()                                                   \