diff options
author | Mike McLaughlin <mikem@microsoft.com> | 2018-08-14 00:46:13 -0700 |
---|---|---|
committer | Jan Vorlicek <janvorli@microsoft.com> | 2018-08-14 09:46:13 +0200 |
commit | c509903171fedf0a4a6f9fffeb6e2b9820f537c2 (patch) | |
tree | 8f36e3b8d25b4089150b1a85df1f8e0af79ed485 /src/pal/src/exception/signal.cpp | |
parent | 821016dc0d94c08a40701f75a09a3d355c515579 (diff) | |
download | coreclr-c509903171fedf0a4a6f9fffeb6e2b9820f537c2.tar.gz coreclr-c509903171fedf0a4a6f9fffeb6e2b9820f537c2.tar.bz2 coreclr-c509903171fedf0a4a6f9fffeb6e2b9820f537c2.zip |
Code review feedback for the alternate stack changes (PR #19309). (#19476)
Fixed SOS plugin for core dumps.
Diffstat (limited to 'src/pal/src/exception/signal.cpp')
-rw-r--r-- | src/pal/src/exception/signal.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/pal/src/exception/signal.cpp b/src/pal/src/exception/signal.cpp index ff3096a48c..d0c0d696ec 100644 --- a/src/pal/src/exception/signal.cpp +++ b/src/pal/src/exception/signal.cpp @@ -103,11 +103,10 @@ static void restore_signal(int signal_id, struct sigaction *previousAction); /* internal data declarations *********************************************/ -static bool ensure_alt_signal_stack = false; -static bool registered_sigterm_handler = false; #if !HAVE_MACH_EXCEPTIONS static bool registered_signal_handlers = false; #endif // !HAVE_MACH_EXCEPTIONS +static bool registered_sigterm_handler = false; struct sigaction g_previous_sigterm; #if !HAVE_MACH_EXCEPTIONS @@ -147,7 +146,7 @@ BOOL EnsureSignalAlternateStack() { int st = 0; - if (ensure_alt_signal_stack) + if (registered_signal_handlers) { stack_t oss; @@ -207,7 +206,7 @@ Return : --*/ void FreeSignalAlternateStack() { - if (ensure_alt_signal_stack) + if (registered_signal_handlers) { stack_t ss, oss; // The man page for sigaltstack says that when the ss.ss_flags is set to SS_DISABLE, @@ -245,6 +244,7 @@ BOOL SEHInitializeSignals(DWORD flags) if (flags & PAL_INITIALIZE_REGISTER_SIGNALS) { registered_signal_handlers = true; + /* we call handle_signal for every possible signal, even if we don't provide a signal handler. @@ -273,11 +273,6 @@ BOOL SEHInitializeSignals(DWORD flags) #ifdef INJECT_ACTIVATION_SIGNAL handle_signal(INJECT_ACTIVATION_SIGNAL, inject_activation_handler, &g_previous_activation); #endif - } - - if (flags & PAL_INITIALIZE_ENSURE_ALT_SIGNAL_STACK) - { - ensure_alt_signal_stack = true; if (!EnsureSignalAlternateStack()) { return FALSE; |