From 09b0c7891845122a8c0472995b03b5fefcc284d2 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Tue, 17 Aug 2010 22:32:39 +0000 Subject: CrashRecovery: Clear the current context on the first crash, to avoid re-entering it if the cleanup code crashes. llvm-svn: 111309 --- llvm/lib/Support/CrashRecoveryContext.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'llvm/lib/Support/CrashRecoveryContext.cpp') diff --git a/llvm/lib/Support/CrashRecoveryContext.cpp b/llvm/lib/Support/CrashRecoveryContext.cpp index 296cc3e8f3b..49258ede83c 100644 --- a/llvm/lib/Support/CrashRecoveryContext.cpp +++ b/llvm/lib/Support/CrashRecoveryContext.cpp @@ -38,6 +38,10 @@ public: } void HandleCrash() { + // Eliminate the current context entry, to avoid re-entering in case the + // cleanup code crashes. + CurrentContext.erase(); + assert(!Failed && "Crash recovery context already failed!"); Failed = true; -- cgit v1.2.3