From 05467443a28276e0dc497191a5c31e99dd4723d3 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Fri, 8 Jul 2016 02:24:56 +0200 Subject: [PATCH] Add destroy_signal_handler_state --- frontend/drivers/platform_ctr.c | 2 ++ frontend/drivers/platform_darwin.m | 1 + frontend/drivers/platform_gx.c | 1 + frontend/drivers/platform_linux.c | 1 + frontend/drivers/platform_null.c | 1 + frontend/drivers/platform_ps3.c | 1 + frontend/drivers/platform_psp.c | 1 + frontend/drivers/platform_qnx.c | 1 + frontend/drivers/platform_win32.c | 1 + frontend/drivers/platform_xdk.cpp | 1 + frontend/drivers/platform_xenon.c | 1 + frontend/frontend_driver.c | 12 ++++++++++-- frontend/frontend_driver.h | 7 ++++++- 13 files changed, 28 insertions(+), 3 deletions(-) diff --git a/frontend/drivers/platform_ctr.c b/frontend/drivers/platform_ctr.c index b5435151f7..4c0b13ea7b 100644 --- a/frontend/drivers/platform_ctr.c +++ b/frontend/drivers/platform_ctr.c @@ -281,5 +281,7 @@ frontend_ctx_driver_t frontend_ctx_ctr = { NULL, /* get_mem_total */ NULL, /* get_mem_free */ NULL, /* install_signal_handler */ + NULL, /* get_signal_handler_state */ + NULL, /* destroy_signal_handler_state */ "ctr", }; diff --git a/frontend/drivers/platform_darwin.m b/frontend/drivers/platform_darwin.m index a4c2277d30..0fce0e9d7a 100644 --- a/frontend/drivers/platform_darwin.m +++ b/frontend/drivers/platform_darwin.m @@ -725,5 +725,6 @@ frontend_ctx_driver_t frontend_ctx_darwin = { frontend_darwin_get_mem_used, NULL, /* install_signal_handler */ NULL, /* get_sighandler_state */ + NULL, /* destroy_signal_handler_state */ "darwin", }; diff --git a/frontend/drivers/platform_gx.c b/frontend/drivers/platform_gx.c index 2526ec7fe8..69607def42 100644 --- a/frontend/drivers/platform_gx.c +++ b/frontend/drivers/platform_gx.c @@ -528,5 +528,6 @@ frontend_ctx_driver_t frontend_ctx_gx = { frontend_gx_get_mem_used, NULL, /* install_signal_handler */ NULL, /* get_sighandler_state */ + NULL, /* destroy_signal_handler_state */ "gx", }; diff --git a/frontend/drivers/platform_linux.c b/frontend/drivers/platform_linux.c index e59c9a0ea1..5ddecf9e95 100644 --- a/frontend/drivers/platform_linux.c +++ b/frontend/drivers/platform_linux.c @@ -1997,6 +1997,7 @@ frontend_ctx_driver_t frontend_ctx_linux = { frontend_linux_get_mem_used, NULL, /* install_signal_handler */ NULL, /* get_sighandler_state */ + NULL, /* destroy_sighandler_state */ #ifdef ANDROID "android" #else diff --git a/frontend/drivers/platform_null.c b/frontend/drivers/platform_null.c index 3bb1ce3cf4..cab83fa369 100644 --- a/frontend/drivers/platform_null.c +++ b/frontend/drivers/platform_null.c @@ -39,5 +39,6 @@ frontend_ctx_driver_t frontend_ctx_null = { NULL, /* get_mem_free */ NULL, /* install_signal_handler */ NULL, /* get_sighandler_state */ + NULL, /* destroy_sighandler_state */ "null", }; diff --git a/frontend/drivers/platform_ps3.c b/frontend/drivers/platform_ps3.c index 1fe052dc46..0068e1bb8c 100644 --- a/frontend/drivers/platform_ps3.c +++ b/frontend/drivers/platform_ps3.c @@ -544,5 +544,6 @@ frontend_ctx_driver_t frontend_ctx_ps3 = { NULL, /* get_mem_free */ NULL, /* install_signal_handler */ NULL, /* get_sighandler_state */ + NULL, /* destroy_sighandler_state */ "ps3", }; diff --git a/frontend/drivers/platform_psp.c b/frontend/drivers/platform_psp.c index 84ea2667ec..353bec7325 100644 --- a/frontend/drivers/platform_psp.c +++ b/frontend/drivers/platform_psp.c @@ -409,6 +409,7 @@ frontend_ctx_driver_t frontend_ctx_psp = { NULL, /* get_mem_free */ NULL, /* install_signal_handler */ NULL, /* get_sighandler_state */ + NULL, /* destroy_sighandler_state */ #ifdef VITA "vita", #else diff --git a/frontend/drivers/platform_qnx.c b/frontend/drivers/platform_qnx.c index c1d71a4bf3..20fde50c91 100644 --- a/frontend/drivers/platform_qnx.c +++ b/frontend/drivers/platform_qnx.c @@ -88,5 +88,6 @@ frontend_ctx_driver_t frontend_ctx_qnx = { NULL, /* get_mem_free */ NULL, /* install_signal_handler */ NULL, /* get_sighandler_state */ + NULL, /* destroy_sighandler_state */ "qnx", }; diff --git a/frontend/drivers/platform_win32.c b/frontend/drivers/platform_win32.c index d2bd556f84..b9b65620ec 100644 --- a/frontend/drivers/platform_win32.c +++ b/frontend/drivers/platform_win32.c @@ -335,5 +335,6 @@ frontend_ctx_driver_t frontend_ctx_win32 = { frontend_win32_get_mem_used, NULL, /* install_signal_handler */ NULL, /* get_sighandler_state */ + NULL, /* destroy_sighandler_state */ "win32" }; diff --git a/frontend/drivers/platform_xdk.cpp b/frontend/drivers/platform_xdk.cpp index bb4b06a6fa..bafa3c3bb5 100644 --- a/frontend/drivers/platform_xdk.cpp +++ b/frontend/drivers/platform_xdk.cpp @@ -1410,5 +1410,6 @@ frontend_ctx_driver_t frontend_ctx_xdk = { NULL, /* get_mem_free */ NULL, /* install_signal_handler */ NULL, /* get_sighandler_state */ + NULL, /* destroy_sighandler_state */ "xdk", }; diff --git a/frontend/drivers/platform_xenon.c b/frontend/drivers/platform_xenon.c index baa7d16563..7eabab9df7 100644 --- a/frontend/drivers/platform_xenon.c +++ b/frontend/drivers/platform_xenon.c @@ -87,5 +87,6 @@ frontend_ctx_driver_t frontend_ctx_qnx = { NULL, /* get_mem_total */ NULL, /* install_signal_handler */ NULL, /* get_sighandler_state */ + NULL, /* destroy_sighandler_state */ "xenon", }; diff --git a/frontend/frontend_driver.c b/frontend/frontend_driver.c index a508e1d051..8d7666c28a 100644 --- a/frontend/frontend_driver.c +++ b/frontend/frontend_driver.c @@ -328,7 +328,7 @@ uint64_t frontend_driver_get_used_memory(void) return frontend->get_used_mem(); } -void frontend_driver_install_sighandler(void) +void frontend_driver_install_signal_handler(void) { frontend_ctx_driver_t *frontend = frontend_get_ptr(); if (!frontend || !frontend->install_signal_handler) @@ -336,11 +336,19 @@ void frontend_driver_install_sighandler(void) frontend->install_signal_handler(); } -int frontend_driver_get_sighandler_state(void) +int frontend_driver_get_signal_handler_state(void) { frontend_ctx_driver_t *frontend = frontend_get_ptr(); if (!frontend || !frontend->get_signal_handler_state) return -1; return frontend->get_signal_handler_state(); } + +void frontend_driver_destroy_signal_handler_state(void) +{ + frontend_ctx_driver_t *frontend = frontend_get_ptr(); + if (!frontend || !frontend->destroy_signal_handler_state) + return; + frontend->destroy_signal_handler_state(); +} #endif diff --git a/frontend/frontend_driver.h b/frontend/frontend_driver.h index d12162fe9a..7ff30d477e 100644 --- a/frontend/frontend_driver.h +++ b/frontend/frontend_driver.h @@ -84,6 +84,7 @@ typedef struct frontend_ctx_driver uint64_t (*get_used_mem)(void); void (*install_signal_handler)(void); int (*get_signal_handler_state)(void); + void (*destroy_signal_handler_state)(void); const char *ident; @@ -162,7 +163,11 @@ uint64_t frontend_driver_get_total_memory(void); uint64_t frontend_driver_get_used_memory(void); -void frontend_driver_install_sighandler(void); +void frontend_driver_install_signal_handler(void); + +int frontend_driver_get_signal_handler_state(void); + +void frontend_driver_destroy_signal_handler_state(void); RETRO_END_DECLS