mirror of
https://github.com/intel/llvm.git
synced 2026-01-22 23:49:22 +08:00
[lldb] Always call DestroyImpl from Process::Finalize
Always destroy the process, regardless of its private state. This will call the virtual function DoDestroy under the hood, giving our derived class a chance to do the necessary tear down, including what to do when the private state is eStateExited. Differential revision: https://reviews.llvm.org/D106004
This commit is contained in:
@@ -493,25 +493,9 @@ void Process::Finalize() {
|
||||
if (m_finalizing.exchange(true))
|
||||
return;
|
||||
|
||||
// Destroy this process if needed
|
||||
switch (GetPrivateState()) {
|
||||
case eStateConnected:
|
||||
case eStateAttaching:
|
||||
case eStateLaunching:
|
||||
case eStateStopped:
|
||||
case eStateRunning:
|
||||
case eStateStepping:
|
||||
case eStateCrashed:
|
||||
case eStateSuspended:
|
||||
DestroyImpl(false);
|
||||
break;
|
||||
|
||||
case eStateInvalid:
|
||||
case eStateUnloaded:
|
||||
case eStateDetached:
|
||||
case eStateExited:
|
||||
break;
|
||||
}
|
||||
// Destroy the process. This will call the virtual function DoDestroy under
|
||||
// the hood, giving our derived class a chance to do the ncessary tear down.
|
||||
DestroyImpl(false);
|
||||
|
||||
// Clear our broadcaster before we proceed with destroying
|
||||
Broadcaster::Clear();
|
||||
|
||||
Reference in New Issue
Block a user