aboutsummaryrefslogtreecommitdiff
path: root/funkey/fk_instant_play.c
diff options
context:
space:
mode:
Diffstat (limited to 'funkey/fk_instant_play.c')
-rw-r--r--funkey/fk_instant_play.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/funkey/fk_instant_play.c b/funkey/fk_instant_play.c
index eeacae8..a4aebd3 100644
--- a/funkey/fk_instant_play.c
+++ b/funkey/fk_instant_play.c
@@ -64,12 +64,23 @@ static void handle_sigusr1(int signal)
}
pclose(fp);
+ if (in_menu) {
+ FK_Suspend();
+ } else {
+ /* Wait for the core to be ready to save */
+ should_suspend = true;
+ }
+}
+
+void FK_Suspend(void)
+{
state_slot = AUTOSAVE_SLOT;
if(!state_write()) {
printf("Save failed");
state_slot = 0;
}
+ sram_write();
save_config(CONFIG_TYPE_AUTO);
/* Perform Instant Play save and shutdown */
@@ -82,6 +93,7 @@ static void handle_sigusr1(int signal)
exit(0);
}
+
void FK_InitInstantPlay(int argc, char **argv)
{
prog_name = argv[0];