Don't put overlay code on thread again

This commit is contained in:
twinaphex 2015-11-22 18:25:09 +01:00
parent 85aae0d0b5
commit f806e7b9c1
3 changed files with 25 additions and 88 deletions

View File

@ -69,9 +69,6 @@ static void data_runloop_thread_deinit(void)
slock_free(g_data_runloop.lock); slock_free(g_data_runloop.lock);
slock_free(g_data_runloop.cond_lock); slock_free(g_data_runloop.cond_lock);
#ifdef HAVE_OVERLAY
rarch_main_data_overlay_thread_uninit();
#endif
scond_free(g_data_runloop.cond); scond_free(g_data_runloop.cond);
} }
} }
@ -195,10 +192,6 @@ static void rarch_main_data_thread_init(void)
g_data_runloop.cond_lock = slock_new(); g_data_runloop.cond_lock = slock_new();
g_data_runloop.cond = scond_new(); g_data_runloop.cond = scond_new();
#ifdef HAVE_OVERLAY
rarch_main_data_overlay_thread_init();
#endif
g_data_runloop.thread = sthread_create(data_thread_loop, &g_data_runloop); g_data_runloop.thread = sthread_create(data_thread_loop, &g_data_runloop);
if (!g_data_runloop.thread) if (!g_data_runloop.thread)
@ -249,16 +242,13 @@ void rarch_main_data_iterate(void)
} }
#endif #endif
#ifdef HAVE_OVERLAY
rarch_main_data_overlay_image_upload_iterate(false);
#endif
#ifdef HAVE_RPNG #ifdef HAVE_RPNG
#ifdef HAVE_MENU #ifdef HAVE_MENU
rarch_main_data_nbio_image_upload_iterate(false); rarch_main_data_nbio_image_upload_iterate(false);
#endif #endif
#endif #endif
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY
rarch_main_data_overlay_iterate (false); rarch_main_data_overlay_iterate();
#endif #endif
#ifdef HAVE_MENU #ifdef HAVE_MENU

View File

@ -14,48 +14,19 @@
*/ */
#include <retro_miscellaneous.h> #include <retro_miscellaneous.h>
#ifdef HAVE_THREADS
#include <rthreads/rthreads.h>
#endif
#include "tasks.h" #include "tasks.h"
#include "../input/input_overlay.h" #include "../input/input_overlay.h"
#ifdef HAVE_THREADS void rarch_main_data_overlay_iterate(void)
static slock_t *overlay_lock; {
#endif while (input_overlay_status() != OVERLAY_STATUS_NONE)
void rarch_main_data_overlay_image_upload_iterate(bool is_thread)
{ {
#ifdef HAVE_THREADS
if (is_thread)
slock_lock(overlay_lock);
#endif
switch (input_overlay_status()) switch (input_overlay_status())
{ {
case OVERLAY_STATUS_DEFERRED_LOADING: case OVERLAY_STATUS_DEFERRED_LOADING:
input_overlay_load_overlays_iterate(); input_overlay_load_overlays_iterate();
break; break;
default:
break;
}
#ifdef HAVE_THREADS
if (is_thread)
slock_unlock(overlay_lock);
#endif
}
void rarch_main_data_overlay_iterate(bool is_thread)
{
#ifdef HAVE_THREADS
if (is_thread)
slock_lock(overlay_lock);
#endif
switch (input_overlay_status())
{
case OVERLAY_STATUS_DEFERRED_LOAD: case OVERLAY_STATUS_DEFERRED_LOAD:
input_overlay_load_overlays(); input_overlay_load_overlays();
break; break;
@ -72,23 +43,5 @@ void rarch_main_data_overlay_iterate(bool is_thread)
case OVERLAY_STATUS_NONE: case OVERLAY_STATUS_NONE:
break; break;
} }
#ifdef HAVE_THREADS
if (is_thread)
slock_unlock(overlay_lock);
#endif
} }
void rarch_main_data_overlay_thread_uninit(void)
{
#ifdef HAVE_THREADS
slock_free(overlay_lock);
#endif
}
void rarch_main_data_overlay_thread_init(void)
{
#ifdef HAVE_THREADS
overlay_lock = slock_new();
#endif
} }

View File

@ -90,13 +90,7 @@ bool rarch_main_data_db_is_active(void);
#endif #endif
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY
void rarch_main_data_overlay_image_upload_iterate(bool is_thread); void rarch_main_data_overlay_iterate(void);
void rarch_main_data_overlay_iterate(bool is_thread);
void rarch_main_data_overlay_thread_uninit(void);
void rarch_main_data_overlay_thread_init(void);
#endif #endif
void rarch_main_data_nbio_iterate(bool is_thread); void rarch_main_data_nbio_iterate(bool is_thread);