diff --git a/frontend/drivers/platform_linux.c b/frontend/drivers/platform_linux.c index 31c3a3ed69..9ebd83e3ee 100644 --- a/frontend/drivers/platform_linux.c +++ b/frontend/drivers/platform_linux.c @@ -579,22 +579,16 @@ static void android_app_set_window(void *data, ANativeWindow* window) slock_unlock(android_app->mutex); } -static void android_app_set_activity_state(void *data, int8_t cmd) +static void android_app_set_activity_state(struct android_app *android_app, int8_t cmd) { - struct android_app *android_app = (struct android_app*)data; - if (!android_app) return; slock_lock(android_app->mutex); android_app_write_cmd(android_app, cmd); - while (android_app->activityState != cmd - && android_app->activityState != APP_CMD_DEAD) + while (android_app->activityState != cmd) scond_wait(android_app->cond, android_app->mutex); slock_unlock(android_app->mutex); - - if (android_app->activityState == APP_CMD_DEAD) - RARCH_LOG("RetroArch native thread is dead.\n"); } static void android_app_free(struct android_app* android_app) @@ -2049,15 +2043,13 @@ static void free_saved_state(struct android_app* android_app) static void android_app_destroy(struct android_app *android_app) { - JNIEnv *env = NULL; + JNIEnv *env = NULL; RARCH_LOG("android_app_destroy\n"); free_saved_state(android_app); slock_lock(android_app->mutex); - android_app->activityState = APP_CMD_DEAD; - env = jni_thread_getenv(); if (env && android_app->onRetroArchExit) diff --git a/frontend/drivers/platform_linux.h b/frontend/drivers/platform_linux.h index 2dd163fd3c..6b0e314819 100644 --- a/frontend/drivers/platform_linux.h +++ b/frontend/drivers/platform_linux.h @@ -290,10 +290,7 @@ enum * Command from main thread: the app's activity is being destroyed, * and waiting for the app thread to clean up and exit before proceeding. */ - APP_CMD_DESTROY, - - // Set by thread when it will no longer reply to commands. - APP_CMD_DEAD + APP_CMD_DESTROY }; #define JNI_EXCEPTION(env) \