(Rnunloop data) Reimplement sleeping

This commit is contained in:
twinaphex 2015-11-22 22:21:02 +01:00
parent 6f0425bdc3
commit becf83a1b3
1 changed files with 4 additions and 7 deletions

View File

@ -158,12 +158,8 @@ static void data_thread_loop(void *data)
data_runloop_iterate(true); data_runloop_iterate(true);
if (!rarch_main_data_active()) while (runloop->thread_sleeping)
{ scond_wait(runloop->cond, runloop->lock);
runloop->thread_sleeping = true;
while(runloop->thread_sleeping)
scond_wait(runloop->cond, runloop->lock);
}
slock_unlock(runloop->lock); slock_unlock(runloop->lock);
@ -222,7 +218,8 @@ void rarch_main_data_iterate(void)
{ {
if (!g_data_runloop.thread_inited) if (!g_data_runloop.thread_inited)
rarch_main_data_thread_init(); rarch_main_data_thread_init();
else if (g_data_runloop.thread_sleeping)
if (rarch_main_data_active())
{ {
slock_lock(g_data_runloop.cond_lock); slock_lock(g_data_runloop.cond_lock);
g_data_runloop.thread_sleeping = false; g_data_runloop.thread_sleeping = false;