static void data_runloop_thread_deinit(data_runloop_t *runloop) { if (!runloop->thread_inited) { slock_lock(runloop->cond_lock); runloop->alive = false; scond_signal(runloop->cond); slock_unlock(runloop->cond_lock); sthread_join(runloop->thread); slock_free(runloop->lock); slock_free(runloop->cond_lock); rarch_main_data_overlay_thread_uninit(); scond_free(runloop->cond); } }
static void data_runloop_thread_deinit(void) { if (!g_data_runloop.thread_inited) { slock_lock(g_data_runloop.cond_lock); g_data_runloop.alive = false; scond_signal(g_data_runloop.cond); slock_unlock(g_data_runloop.cond_lock); sthread_join(g_data_runloop.thread); slock_free(g_data_runloop.lock); slock_free(g_data_runloop.cond_lock); rarch_main_data_overlay_thread_uninit(); scond_free(g_data_runloop.cond); } }