summaryrefslogtreecommitdiff
path: root/src/pal/src/exception/signal.cpp
diff options
context:
space:
mode:
authorMike McLaughlin <mikem@microsoft.com>2018-08-14 00:46:13 -0700
committerJan Vorlicek <janvorli@microsoft.com>2018-08-14 09:46:13 +0200
commitc509903171fedf0a4a6f9fffeb6e2b9820f537c2 (patch)
tree8f36e3b8d25b4089150b1a85df1f8e0af79ed485 /src/pal/src/exception/signal.cpp
parent821016dc0d94c08a40701f75a09a3d355c515579 (diff)
downloadcoreclr-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.cpp13
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;