From 4ad45bbd7f57128377b80cfae5084b28ade3e56c Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Fri, 19 Mar 2004 04:43:24 +0000 Subject: [PATCH] sa.sa_handler -> sa.sa_flags use SA_NODEFER --- stepmania/src/archutils/Unix/SignalHandler.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/stepmania/src/archutils/Unix/SignalHandler.cpp b/stepmania/src/archutils/Unix/SignalHandler.cpp index 3da135fd54..9beabf208b 100644 --- a/stepmania/src/archutils/Unix/SignalHandler.cpp +++ b/stepmania/src/archutils/Unix/SignalHandler.cpp @@ -47,10 +47,10 @@ SaveSignals::~SaveSignals() sigaction(signals[i], &old_handlers[i], NULL); } -static void SigHandler(int sig) +static void SigHandler( int signal, siginfo_t *si, void *ucp ) { for(unsigned i = 0; i < handlers.size(); ++i) - handlers[i](sig); + handlers[i]( signal ); } static int find_stack_direction2( char *p ) @@ -138,8 +138,10 @@ void SignalHandler::OnClose(handler h) { struct sigaction sa; - sa.sa_handler = SigHandler; + sa.sa_sigaction = SigHandler; sa.sa_flags = p != NULL? SA_ONSTACK:0; + sa.sa_flags |= SA_NODEFER; + sa.sa_flags |= SA_SIGINFO; sigemptyset(&sa.sa_mask); sigaction(signals[i], &sa, NULL);