diff --git a/source/bridges-plugin/CarlaBridgePlugin.cpp b/source/bridges-plugin/CarlaBridgePlugin.cpp index 82bc2f48d..af096c9a1 100644 --- a/source/bridges-plugin/CarlaBridgePlugin.cpp +++ b/source/bridges-plugin/CarlaBridgePlugin.cpp @@ -80,21 +80,19 @@ static void initSignalHandler() #ifdef CARLA_OS_WIN SetConsoleCtrlHandler(winSignalHandler, TRUE); #elif defined(CARLA_OS_LINUX) - struct sigaction sterm; - struct sigaction susr1; - - sterm.sa_handler = closeSignalHandler; - sterm.sa_flags = SA_RESTART; - sterm.sa_restorer = nullptr; - sigemptyset(&sterm.sa_mask); - sigaction(SIGTERM, &sterm, nullptr); - sigaction(SIGINT, &sterm, nullptr); - - susr1.sa_handler = saveSignalHandler; - susr1.sa_flags = SA_RESTART; - susr1.sa_restorer = nullptr; - sigemptyset(&susr1.sa_mask); - sigaction(SIGUSR1, &susr1, nullptr); + struct sigaction sig; + carla_zeroStruct(sig); + + sig.sa_handler = closeSignalHandler; + sig.sa_flags = SA_RESTART; + sigemptyset(&sig.sa_mask); + sigaction(SIGTERM, &sig, nullptr); + sigaction(SIGINT, &sig, nullptr); + + sig.sa_handler = saveSignalHandler; + sig.sa_flags = SA_RESTART; + sigemptyset(&sig.sa_mask); + sigaction(SIGUSR1, &sig, nullptr); #endif }