Don't make async_jobs dependent on global state anymore
This commit is contained in:
parent
4e14e6e6fa
commit
d33f0b5239
13
cheevos.c
13
cheevos.c
|
@ -34,7 +34,6 @@
|
||||||
|
|
||||||
#include "verbosity.h"
|
#include "verbosity.h"
|
||||||
|
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
CHEEVOS_VAR_SIZE_BIT_0,
|
CHEEVOS_VAR_SIZE_BIT_0,
|
||||||
|
@ -175,6 +174,10 @@ cheevos_globals_t cheevos_globals =
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* forward declaration */
|
||||||
|
|
||||||
|
int rarch_main_async_job_add(async_task_t task, void *payload);
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
Supporting functions.
|
Supporting functions.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
@ -1245,7 +1248,7 @@ static void cheevos_unlocker(void *payload)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
RARCH_LOG("CHEEVOS error awarding achievement %u, will retry\n", cheevo_id);
|
RARCH_LOG("CHEEVOS error awarding achievement %u, will retry\n", cheevo_id);
|
||||||
async_job_add(global->async_jobs, cheevos_unlocker, (void*)(uintptr_t)cheevo_id);
|
rarch_main_async_job_add(cheevos_unlocker, (void*)(uintptr_t)cheevo_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1266,7 +1269,7 @@ static void cheevos_test_cheevo_set(const cheevoset_t *set)
|
||||||
rarch_main_msg_queue_push(cheevo->title, 0, 3 * 60, false);
|
rarch_main_msg_queue_push(cheevo->title, 0, 3 * 60, false);
|
||||||
rarch_main_msg_queue_push(cheevo->description, 0, 5 * 60, false);
|
rarch_main_msg_queue_push(cheevo->description, 0, 5 * 60, false);
|
||||||
|
|
||||||
async_job_add(global->async_jobs, cheevos_unlocker, (void*)(uintptr_t)cheevo->id);
|
rarch_main_async_job_add(cheevos_unlocker, (void*)(uintptr_t)cheevo->id);
|
||||||
|
|
||||||
cheevo->active = 0;
|
cheevo->active = 0;
|
||||||
}
|
}
|
||||||
|
@ -1435,7 +1438,7 @@ static void cheevos_playing(void *payload)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
RARCH_LOG("CHEEVOS error posting playing game %u activity, will retry\n", game_id);
|
RARCH_LOG("CHEEVOS error posting playing game %u activity, will retry\n", game_id);
|
||||||
async_job_add(global->async_jobs, cheevos_playing, (void*)(uintptr_t)game_id);
|
rarch_main_async_job_add(cheevos_playing, (void*)(uintptr_t)game_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1915,7 +1918,7 @@ int cheevos_load(const struct retro_game_info *info)
|
||||||
free((void*)json);
|
free((void*)json);
|
||||||
cheevos_locals.loaded = 1;
|
cheevos_locals.loaded = 1;
|
||||||
|
|
||||||
async_job_add(global->async_jobs, cheevos_playing, (void*)(uintptr_t)game_id);
|
rarch_main_async_job_add(cheevos_playing, (void*)(uintptr_t)game_id);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,10 @@
|
||||||
#include <file/file_path.h>
|
#include <file/file_path.h>
|
||||||
#include <retro_assert.h>
|
#include <retro_assert.h>
|
||||||
#include <retro_stat.h>
|
#include <retro_stat.h>
|
||||||
|
|
||||||
|
#ifdef HAVE_THREADS
|
||||||
#include <rthreads/async_job.h>
|
#include <rthreads/async_job.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "frontend.h"
|
#include "frontend.h"
|
||||||
#include "../ui/ui_companion_driver.h"
|
#include "../ui/ui_companion_driver.h"
|
||||||
|
@ -37,6 +40,15 @@
|
||||||
|
|
||||||
#define MAX_ARGS 32
|
#define MAX_ARGS 32
|
||||||
|
|
||||||
|
#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:
|
||||||
*
|
*
|
||||||
|
@ -258,8 +270,7 @@ int rarch_main(int argc, char *argv[], void *data)
|
||||||
rarch_main_new();
|
rarch_main_new();
|
||||||
|
|
||||||
#ifdef HAVE_THREADS
|
#ifdef HAVE_THREADS
|
||||||
global = global_get_ptr();
|
async_jobs = async_job_new();
|
||||||
global->async_jobs = async_job_new();
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (frontend_driver_is_inited())
|
if (frontend_driver_is_inited())
|
||||||
|
@ -306,8 +317,8 @@ int rarch_main(int argc, char *argv[], void *data)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_THREADS
|
#ifdef HAVE_THREADS
|
||||||
async_job_free(global->async_jobs);
|
async_job_free(async_jobs);
|
||||||
global->async_jobs = NULL;
|
async_jobs = NULL;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -16,8 +16,6 @@
|
||||||
#ifndef __RETROARCH_RUNLOOP_H
|
#ifndef __RETROARCH_RUNLOOP_H
|
||||||
#define __RETROARCH_RUNLOOP_H
|
#define __RETROARCH_RUNLOOP_H
|
||||||
|
|
||||||
#include <rthreads/async_job.h>
|
|
||||||
|
|
||||||
#include "libretro.h"
|
#include "libretro.h"
|
||||||
#include "core_info.h"
|
#include "core_info.h"
|
||||||
#include "core_options.h"
|
#include "core_options.h"
|
||||||
|
@ -272,10 +270,6 @@ typedef struct global
|
||||||
bool softfilter_enable;
|
bool softfilter_enable;
|
||||||
} console;
|
} console;
|
||||||
|
|
||||||
#ifdef HAVE_THREADS
|
|
||||||
async_job_t *async_jobs;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
bool main;
|
bool main;
|
||||||
|
|
Loading…
Reference in New Issue