summaryrefslogtreecommitdiff
path: root/lib/sanitizer_common/sanitizer_posix_libcdep.cc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sanitizer_common/sanitizer_posix_libcdep.cc')
-rw-r--r--lib/sanitizer_common/sanitizer_posix_libcdep.cc20
1 files changed, 1 insertions, 19 deletions
diff --git a/lib/sanitizer_common/sanitizer_posix_libcdep.cc b/lib/sanitizer_common/sanitizer_posix_libcdep.cc
index 5b1d53698707e..e113fb1093d43 100644
--- a/lib/sanitizer_common/sanitizer_posix_libcdep.cc
+++ b/lib/sanitizer_common/sanitizer_posix_libcdep.cc
@@ -189,25 +189,7 @@ void UnsetAlternateSignalStack() {
static void MaybeInstallSigaction(int signum,
SignalHandlerType handler) {
- switch (GetHandleSignalMode(signum)) {
- case kHandleSignalNo:
- return;
- case kHandleSignalYes: {
- struct sigaction sigact;
- internal_memset(&sigact, 0, sizeof(sigact));
- CHECK_EQ(0, internal_sigaction(signum, nullptr, &sigact));
- if (sigact.sa_flags & SA_SIGINFO) {
- if (sigact.sa_sigaction) return;
- } else {
- if (sigact.sa_handler != SIG_DFL && sigact.sa_handler != SIG_IGN &&
- sigact.sa_handler != SIG_ERR)
- return;
- }
- break;
- }
- case kHandleSignalExclusive:
- break;
- }
+ if (GetHandleSignalMode(signum) == kHandleSignalNo) return;
struct sigaction sigact;
internal_memset(&sigact, 0, sizeof(sigact));