Move async job code to retroarch.c
This commit is contained in:
parent
146d2c8a1d
commit
ce240dd47f
10
cheevos.c
10
cheevos.c
|
@ -270,7 +270,7 @@ static int cheats_were_enabled = 0;
|
||||||
|
|
||||||
/* forward declaration */
|
/* forward declaration */
|
||||||
|
|
||||||
int rarch_main_async_job_add(async_task_t task, void *payload);
|
int retroarch_async_job_add(async_task_t task, void *payload);
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
Supporting functions.
|
Supporting functions.
|
||||||
|
@ -1444,7 +1444,7 @@ static void cheevos_unlocker(void *payload)
|
||||||
{
|
{
|
||||||
RARCH_ERR("CHEEVOS error awarding achievement %u, will retry...\n", cheevo_id);
|
RARCH_ERR("CHEEVOS error awarding achievement %u, will retry...\n", cheevo_id);
|
||||||
/* re-schedule */
|
/* re-schedule */
|
||||||
rarch_main_async_job_add(cheevos_unlocker, (void*)(uintptr_t)cheevo_id);
|
retroarch_async_job_add(cheevos_unlocker, (void*)(uintptr_t)cheevo_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1463,7 +1463,7 @@ static void cheevos_test_cheevo_set(const cheevoset_t *set)
|
||||||
runloop_msg_queue_push(cheevo->title, 0, 3 * 60, false);
|
runloop_msg_queue_push(cheevo->title, 0, 3 * 60, false);
|
||||||
runloop_msg_queue_push(cheevo->description, 0, 5 * 60, false);
|
runloop_msg_queue_push(cheevo->description, 0, 5 * 60, false);
|
||||||
|
|
||||||
rarch_main_async_job_add(cheevos_unlocker,
|
retroarch_async_job_add(cheevos_unlocker,
|
||||||
(void*)(uintptr_t)cheevo->id);
|
(void*)(uintptr_t)cheevo->id);
|
||||||
|
|
||||||
cheevo->active = 0;
|
cheevo->active = 0;
|
||||||
|
@ -1619,7 +1619,7 @@ static void cheevos_playing(void *payload)
|
||||||
{
|
{
|
||||||
RARCH_ERR("CHEEVOS error posting playing game %u activity, will retry\n", game_id);
|
RARCH_ERR("CHEEVOS error posting playing game %u activity, will retry\n", game_id);
|
||||||
/* re-schedule */
|
/* re-schedule */
|
||||||
rarch_main_async_job_add(cheevos_playing, (void*)(uintptr_t)game_id);
|
retroarch_async_job_add(cheevos_playing, (void*)(uintptr_t)game_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2142,7 +2142,7 @@ bool cheevos_load(const void *data)
|
||||||
free((void*)json);
|
free((void*)json);
|
||||||
cheevos_locals.loaded = 1;
|
cheevos_locals.loaded = 1;
|
||||||
|
|
||||||
rarch_main_async_job_add(cheevos_playing, (void*)(uintptr_t)game_id);
|
retroarch_async_job_add(cheevos_playing, (void*)(uintptr_t)game_id);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,10 +19,6 @@
|
||||||
#include <retro_stat.h>
|
#include <retro_stat.h>
|
||||||
#include <queues/task_queue.h>
|
#include <queues/task_queue.h>
|
||||||
|
|
||||||
#ifdef HAVE_THREADS
|
|
||||||
#include <rthreads/async_job.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "frontend.h"
|
#include "frontend.h"
|
||||||
#include "../ui/ui_companion_driver.h"
|
#include "../ui/ui_companion_driver.h"
|
||||||
#include "../tasks/tasks_internal.h"
|
#include "../tasks/tasks_internal.h"
|
||||||
|
@ -40,15 +36,6 @@
|
||||||
#include "../menu/menu_driver.h"
|
#include "../menu/menu_driver.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_THREADS
|
|
||||||
static async_job_t *async_jobs;
|
|
||||||
|
|
||||||
int rarch_main_async_job_add(async_task_t task, void *payload)
|
|
||||||
{
|
|
||||||
return async_job_add(async_jobs, task, payload);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* main_exit:
|
* main_exit:
|
||||||
*
|
*
|
||||||
|
@ -111,10 +98,6 @@ int rarch_main(int argc, char *argv[], void *data)
|
||||||
rarch_ctl(RARCH_CTL_PREINIT, NULL);
|
rarch_ctl(RARCH_CTL_PREINIT, NULL);
|
||||||
frontend_driver_init_first(args);
|
frontend_driver_init_first(args);
|
||||||
rarch_ctl(RARCH_CTL_INIT, NULL);
|
rarch_ctl(RARCH_CTL_INIT, NULL);
|
||||||
|
|
||||||
#ifdef HAVE_THREADS
|
|
||||||
async_jobs = async_job_new();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (frontend_driver_is_inited())
|
if (frontend_driver_is_inited())
|
||||||
{
|
{
|
||||||
|
@ -152,11 +135,6 @@ int rarch_main(int argc, char *argv[], void *data)
|
||||||
main_exit(args);
|
main_exit(args);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_THREADS
|
|
||||||
async_job_free(async_jobs);
|
|
||||||
async_jobs = NULL;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
21
retroarch.c
21
retroarch.c
|
@ -26,6 +26,9 @@
|
||||||
#include <boolean.h>
|
#include <boolean.h>
|
||||||
#include <string/stdstring.h>
|
#include <string/stdstring.h>
|
||||||
#include <lists/string_list.h>
|
#include <lists/string_list.h>
|
||||||
|
#ifdef HAVE_THREADS
|
||||||
|
#include <rthreads/async_job.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
#ifdef _XBOX
|
#ifdef _XBOX
|
||||||
|
@ -112,6 +115,10 @@ static char current_savefile_dir[PATH_MAX_LENGTH];
|
||||||
static char error_string[PATH_MAX_LENGTH];
|
static char error_string[PATH_MAX_LENGTH];
|
||||||
static jmp_buf error_sjlj_context;
|
static jmp_buf error_sjlj_context;
|
||||||
|
|
||||||
|
#ifdef HAVE_THREADS
|
||||||
|
static async_job_t *async_jobs;
|
||||||
|
#endif
|
||||||
|
|
||||||
#define _PSUPP(var, name, desc) printf(" %s:\n\t\t%s: %s\n", name, desc, _##var##_supp ? "yes" : "no")
|
#define _PSUPP(var, name, desc) printf(" %s:\n\t\t%s: %s\n", name, desc, _##var##_supp ? "yes" : "no")
|
||||||
|
|
||||||
static void retroarch_print_features(void)
|
static void retroarch_print_features(void)
|
||||||
|
@ -171,6 +178,13 @@ static void retroarch_print_features(void)
|
||||||
}
|
}
|
||||||
#undef _PSUPP
|
#undef _PSUPP
|
||||||
|
|
||||||
|
#ifdef HAVE_THREADS
|
||||||
|
int retroarch_async_job_add(async_task_t task, void *payload)
|
||||||
|
{
|
||||||
|
return async_job_add(async_jobs, task, payload);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static void retroarch_print_version(void)
|
static void retroarch_print_version(void)
|
||||||
{
|
{
|
||||||
char str[PATH_MAX_LENGTH] = {0};
|
char str[PATH_MAX_LENGTH] = {0};
|
||||||
|
@ -1441,6 +1455,10 @@ bool rarch_ctl(enum rarch_ctl_state state, void *data)
|
||||||
command_event(CMD_EVENT_SAVEFILES_DEINIT, NULL);
|
command_event(CMD_EVENT_SAVEFILES_DEINIT, NULL);
|
||||||
|
|
||||||
rarch_ctl(RARCH_CTL_UNSET_INITED, NULL);
|
rarch_ctl(RARCH_CTL_UNSET_INITED, NULL);
|
||||||
|
#ifdef HAVE_THREADS
|
||||||
|
async_job_free(async_jobs);
|
||||||
|
async_jobs = NULL;
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case RARCH_CTL_INIT:
|
case RARCH_CTL_INIT:
|
||||||
rarch_ctl(RARCH_CTL_DEINIT, NULL);
|
rarch_ctl(RARCH_CTL_DEINIT, NULL);
|
||||||
|
@ -1451,6 +1469,9 @@ bool rarch_ctl(enum rarch_ctl_state state, void *data)
|
||||||
settings->input.libretro_device[i] = RETRO_DEVICE_JOYPAD;
|
settings->input.libretro_device[i] = RETRO_DEVICE_JOYPAD;
|
||||||
}
|
}
|
||||||
runloop_ctl(RUNLOOP_CTL_MSG_QUEUE_INIT, NULL);
|
runloop_ctl(RUNLOOP_CTL_MSG_QUEUE_INIT, NULL);
|
||||||
|
#ifdef HAVE_THREADS
|
||||||
|
async_jobs = async_job_new();
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case RARCH_CTL_SET_PATHS_REDIRECT:
|
case RARCH_CTL_SET_PATHS_REDIRECT:
|
||||||
if(settings->sort_savestates_enable || settings->sort_savefiles_enable)
|
if(settings->sort_savestates_enable || settings->sort_savefiles_enable)
|
||||||
|
|
Loading…
Reference in New Issue