From 6fe43f5823f78f36f621c39a204a462368e33ab3 Mon Sep 17 00:00:00 2001 From: Alcaro Date: Mon, 22 Aug 2016 14:25:00 +0200 Subject: [PATCH] Make this one a bit more robust --- frontend/drivers/platform_linux.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/frontend/drivers/platform_linux.c b/frontend/drivers/platform_linux.c index 32f8753470..680974e090 100644 --- a/frontend/drivers/platform_linux.c +++ b/frontend/drivers/platform_linux.c @@ -1992,12 +1992,17 @@ static uint64_t frontend_linux_get_mem_used(void) return total - freemem - buffers - cached; } +/*#include */ static void frontend_linux_sighandler(int sig) { +#ifdef VALGRIND_PRINTF_BACKTRACE +VALGRIND_PRINTF_BACKTRACE("SIGINT"); +#endif (void)sig; - if (linux_sighandler_quit) - exit(1); - linux_sighandler_quit = 1; + linux_sighandler_quit++; + if (linux_sighandler_quit == 1) {} + if (linux_sighandler_quit == 2) exit(1); + if (linux_sighandler_quit >= 3) abort(); /* in case there's a second deadlock in a C++ destructor or something */ } static void frontend_linux_install_signal_handlers(void)