aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-10-18 21:55:18 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-10-18 21:55:18 +0000
commitd49e2aa5b89758b3b8841fa427e3c9e90f2e30b2 (patch)
treec42cbccb06bc8944c33de2fe29bd9ff16697d169
parente7d4a4c6c882907da11adcaaacf1a2f464214e87 (diff)
downloadexternal_llvm-d49e2aa5b89758b3b8841fa427e3c9e90f2e30b2.zip
external_llvm-d49e2aa5b89758b3b8841fa427e3c9e90f2e30b2.tar.gz
external_llvm-d49e2aa5b89758b3b8841fa427e3c9e90f2e30b2.tar.bz2
CrashRecoveryContext: Add missing return, so that the signal fires after we our
routine is off the stack. Otherwise we show up rather confusingly in the stack trace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116755 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Support/CrashRecoveryContext.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Support/CrashRecoveryContext.cpp b/lib/Support/CrashRecoveryContext.cpp
index 49258ed..93af79b 100644
--- a/lib/Support/CrashRecoveryContext.cpp
+++ b/lib/Support/CrashRecoveryContext.cpp
@@ -128,6 +128,9 @@ static void CrashRecoverySignalHandler(int Signal) {
// This call of Disable isn't thread safe, but it doesn't actually matter.
CrashRecoveryContext::Disable();
raise(Signal);
+
+ // The signal will be thrown once the signal mask is restored.
+ return;
}
// Unblock the signal we received.