summaryrefslogtreecommitdiffstats
path: root/lldb/source/Target/Process.cpp
diff options
context:
space:
mode:
authorIlia K <ki.stfu@gmail.com>2015-03-26 07:40:40 +0000
committerIlia K <ki.stfu@gmail.com>2015-03-26 07:40:40 +0000
commitc7efd564bb07977db15949ee72a7a3369e870c2a (patch)
tree595d669ca0b6402f9a35e88314c67fe75b55c2cd /lldb/source/Target/Process.cpp
parentfd3241528dde43cfcd93d60760e3861380f9ef69 (diff)
downloadbcm5719-llvm-c7efd564bb07977db15949ee72a7a3369e870c2a.tar.gz
bcm5719-llvm-c7efd564bb07977db15949ee72a7a3369e870c2a.zip
Fix Process::Finalize to do Process::Destroy if needed after r233255
llvm-svn: 233258
Diffstat (limited to 'lldb/source/Target/Process.cpp')
-rw-r--r--lldb/source/Target/Process.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp
index 6137b7f1b89..e8a6e87bf54 100644
--- a/lldb/source/Target/Process.cpp
+++ b/lldb/source/Target/Process.cpp
@@ -822,8 +822,26 @@ Process::GetGlobalProperties()
void
Process::Finalize()
{
- // Destroy this process
- Destroy();
+ // Destroy this process if needed
+ switch (GetPrivateState())
+ {
+ case eStateConnected:
+ case eStateAttaching:
+ case eStateLaunching:
+ case eStateStopped:
+ case eStateRunning:
+ case eStateStepping:
+ case eStateCrashed:
+ case eStateSuspended:
+ Destroy();
+ break;
+
+ case eStateInvalid:
+ case eStateUnloaded:
+ case eStateDetached:
+ case eStateExited:
+ break;
+ }
// Clear our broadcaster before we proceed with destroying
Broadcaster::Clear();
OpenPOWER on IntegriCloud