diff --git a/frontend/drivers/platform_ctr.c b/frontend/drivers/platform_ctr.c index cec561ad91..b5435151f7 100644 --- a/frontend/drivers/platform_ctr.c +++ b/frontend/drivers/platform_ctr.c @@ -280,5 +280,6 @@ frontend_ctx_driver_t frontend_ctx_ctr = { frontend_ctr_parse_drive_list, NULL, /* get_mem_total */ NULL, /* get_mem_free */ + NULL, /* install_signal_handler */ "ctr", }; diff --git a/frontend/drivers/platform_darwin.m b/frontend/drivers/platform_darwin.m index eb275c49bc..1e4d93dee5 100644 --- a/frontend/drivers/platform_darwin.m +++ b/frontend/drivers/platform_darwin.m @@ -723,5 +723,6 @@ frontend_ctx_driver_t frontend_ctx_darwin = { frontend_darwin_parse_drive_list, frontend_darwin_get_mem_total, frontend_darwin_get_mem_used, + NULL, /* install_signal_handler */ "darwin", }; diff --git a/frontend/drivers/platform_gx.c b/frontend/drivers/platform_gx.c index 20f9ffd718..5e04fac08a 100644 --- a/frontend/drivers/platform_gx.c +++ b/frontend/drivers/platform_gx.c @@ -526,5 +526,6 @@ frontend_ctx_driver_t frontend_ctx_gx = { frontend_gx_parse_drive_list, frontend_gx_get_mem_total, frontend_gx_get_mem_used, + NULL, /* install_signal_handler */ "gx", }; diff --git a/frontend/drivers/platform_linux.c b/frontend/drivers/platform_linux.c index 9183100152..ed75036307 100644 --- a/frontend/drivers/platform_linux.c +++ b/frontend/drivers/platform_linux.c @@ -1995,6 +1995,7 @@ frontend_ctx_driver_t frontend_ctx_linux = { #endif frontend_linux_get_mem_total, frontend_linux_get_mem_used, + NULL, /* install_signal_handler */ #ifdef ANDROID "android" #else diff --git a/frontend/drivers/platform_null.c b/frontend/drivers/platform_null.c index b558e111c1..b3f22df01d 100644 --- a/frontend/drivers/platform_null.c +++ b/frontend/drivers/platform_null.c @@ -37,5 +37,6 @@ frontend_ctx_driver_t frontend_ctx_null = { NULL, /* parse_drive_list */ NULL, /* get_mem_total */ NULL, /* get_mem_free */ + NULL, /* install_signal_handler */ "null", }; diff --git a/frontend/drivers/platform_ps3.c b/frontend/drivers/platform_ps3.c index 1f9d0d6f76..ae219f5185 100644 --- a/frontend/drivers/platform_ps3.c +++ b/frontend/drivers/platform_ps3.c @@ -542,5 +542,6 @@ frontend_ctx_driver_t frontend_ctx_ps3 = { frontend_ps3_parse_drive_list, NULL, /* get_mem_total */ NULL, /* get_mem_free */ + NULL, /* install_signal_handler */ "ps3", }; diff --git a/frontend/drivers/platform_psp.c b/frontend/drivers/platform_psp.c index b8bd9973cb..d000cca3a2 100644 --- a/frontend/drivers/platform_psp.c +++ b/frontend/drivers/platform_psp.c @@ -407,6 +407,7 @@ frontend_ctx_driver_t frontend_ctx_psp = { frontend_psp_parse_drive_list, NULL, /* get_mem_total */ NULL, /* get_mem_free */ + NULL, /* install_signal_handler */ #ifdef VITA "vita", #else diff --git a/frontend/drivers/platform_qnx.c b/frontend/drivers/platform_qnx.c index 90601536c7..94d4663f8f 100644 --- a/frontend/drivers/platform_qnx.c +++ b/frontend/drivers/platform_qnx.c @@ -86,5 +86,6 @@ frontend_ctx_driver_t frontend_ctx_qnx = { NULL, /* parse_drive_list */ NULL, /* get_mem_total */ NULL, /* get_mem_free */ + NULL, /* install_signal_handler */ "qnx", }; diff --git a/frontend/drivers/platform_win32.c b/frontend/drivers/platform_win32.c index ddf29ed612..980436e663 100644 --- a/frontend/drivers/platform_win32.c +++ b/frontend/drivers/platform_win32.c @@ -333,5 +333,6 @@ frontend_ctx_driver_t frontend_ctx_win32 = { frontend_win32_parse_drive_list, frontend_win32_get_mem_total, frontend_win32_get_mem_used, + NULL, /* install_signal_handler */ "win32" }; diff --git a/frontend/drivers/platform_xdk.cpp b/frontend/drivers/platform_xdk.cpp index 4400444d7b..f0ffe9d121 100644 --- a/frontend/drivers/platform_xdk.cpp +++ b/frontend/drivers/platform_xdk.cpp @@ -1408,5 +1408,6 @@ frontend_ctx_driver_t frontend_ctx_xdk = { frontend_xdk_parse_drive_list, NULL, /* get_mem_total */ NULL, /* get_mem_free */ + NULL, /* install_signal_handler */ "xdk", }; diff --git a/frontend/drivers/platform_xenon.c b/frontend/drivers/platform_xenon.c index 6984a3e06e..7a57a4b897 100644 --- a/frontend/drivers/platform_xenon.c +++ b/frontend/drivers/platform_xenon.c @@ -85,5 +85,6 @@ frontend_ctx_driver_t frontend_ctx_qnx = { NULL, /* get_powerstate */ NULL, /* parse_drive_list */ NULL, /* get_mem_total */ + NULL, /* install_signal_handler */ "xenon", }; diff --git a/frontend/frontend_driver.c b/frontend/frontend_driver.c index 9a5a3d1037..ee72d2e08a 100644 --- a/frontend/frontend_driver.c +++ b/frontend/frontend_driver.c @@ -324,4 +324,12 @@ uint64_t frontend_driver_get_used_memory(void) return 0; return frontend->get_used_mem(); } + +void frontend_driver_install_sighandler(void) +{ + frontend_ctx_driver_t *frontend = frontend_get_ptr(); + if (!frontend || !frontend->install_signal_handler) + return; + frontend->install_signal_handler(); +} #endif diff --git a/frontend/frontend_driver.h b/frontend/frontend_driver.h index 8a6bb0ff16..2193273d96 100644 --- a/frontend/frontend_driver.h +++ b/frontend/frontend_driver.h @@ -82,6 +82,7 @@ typedef struct frontend_ctx_driver int (*parse_drive_list)(void*); uint64_t (*get_total_mem)(void); uint64_t (*get_used_mem)(void); + void (*install_signal_handler)(void); const char *ident; @@ -159,6 +160,8 @@ uint64_t frontend_driver_get_total_memory(void); uint64_t frontend_driver_get_used_memory(void); +void frontend_driver_install_sighandler(void); + RETRO_END_DECLS #endif