aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Support/CrashRecoveryContext.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2011-03-19 00:59:37 +0000
committerTed Kremenek <kremenek@apple.com>2011-03-19 00:59:37 +0000
commit1a06d5721acb9a2b69217fc8872ed5b14a482104 (patch)
treea4ec4fdd2cc829ea5a1d7649142f628bed0b6664 /lib/Support/CrashRecoveryContext.cpp
parentfb200e30a48c3e682742174453d9550d1dc589d5 (diff)
downloadexternal_llvm-1a06d5721acb9a2b69217fc8872ed5b14a482104.zip
external_llvm-1a06d5721acb9a2b69217fc8872ed5b14a482104.tar.gz
external_llvm-1a06d5721acb9a2b69217fc8872ed5b14a482104.tar.bz2
Tweak CrashRecoveryContextCleanup to provide an easy method for clients to select between 'delete' and 'destructor' cleanups, and allow the destructor of CrashRecoveryContextCleanupRegister to be pseudo re-entrant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127929 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support/CrashRecoveryContext.cpp')
-rw-r--r--lib/Support/CrashRecoveryContext.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Support/CrashRecoveryContext.cpp b/lib/Support/CrashRecoveryContext.cpp
index d4e21a3..e558662 100644
--- a/lib/Support/CrashRecoveryContext.cpp
+++ b/lib/Support/CrashRecoveryContext.cpp
@@ -65,6 +65,7 @@ CrashRecoveryContext::~CrashRecoveryContext() {
while (i) {
CrashRecoveryContextCleanup *tmp = i;
i = tmp->next;
+ tmp->cleanupFired = true;
tmp->recoverResources();
delete tmp;
}