[Lldb-commits] [lldb] 1e4a417 - [lldb] Always call DestroyImpl from Process::Finalize

Jonas Devlieghere via lldb-commits lldb-commits at lists.llvm.org
Wed Jul 14 13:36:01 PDT 2021


Author: Jonas Devlieghere
Date: 2021-07-14T13:35:53-07:00
New Revision: 1e4a417ee639b867b783e52949d22c1965ab25d0

URL: https://github.com/llvm/llvm-project/commit/1e4a417ee639b867b783e52949d22c1965ab25d0
DIFF: https://github.com/llvm/llvm-project/commit/1e4a417ee639b867b783e52949d22c1965ab25d0.diff

LOG: [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

Added: 
    

Modified: 
    lldb/source/Target/Process.cpp

Removed: 
    


################################################################################
diff  --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp
index 99e4314428c9d..a169b4623f3ee 100644
--- a/lldb/source/Target/Process.cpp
+++ b/lldb/source/Target/Process.cpp
@@ -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();


        


More information about the lldb-commits mailing list