[Lldb-commits] [PATCH] D90895: [TargetList] Delete the destructor

Vedant Kumar via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Thu Nov 5 16:49:26 PST 2020


vsk created this revision.
vsk added reviewers: teemperor, JDevlieghere, jingham.
Herald added a project: LLDB.
vsk requested review of this revision.

AFAICT, ~TargetList simply implements the default destructor, plus some
locking.

The history is murky, so I'm not sure why we do this locking. Perhaps,
at some point, it was possible to delete the same TargetList instance
from two different threads, setting up a race. If that were true, then
the locking would protect against the race.

Since TargetList is uniquely owned by Debugger (m_target_list), no such
race is possible today.

Testing: check-lldb


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D90895

Files:
  lldb/include/lldb/Target/TargetList.h
  lldb/source/Target/TargetList.cpp


Index: lldb/source/Target/TargetList.cpp
===================================================================
--- lldb/source/Target/TargetList.cpp
+++ lldb/source/Target/TargetList.cpp
@@ -42,12 +42,6 @@
   CheckInWithManager();
 }
 
-// Destructor
-TargetList::~TargetList() {
-  std::lock_guard<std::recursive_mutex> guard(m_target_list_mutex);
-  m_target_list.clear();
-}
-
 Status TargetList::CreateTarget(Debugger &debugger,
                                 llvm::StringRef user_exe_path,
                                 llvm::StringRef triple_str,
Index: lldb/include/lldb/Target/TargetList.h
===================================================================
--- lldb/include/lldb/Target/TargetList.h
+++ lldb/include/lldb/Target/TargetList.h
@@ -42,8 +42,6 @@
     return GetStaticBroadcasterClass();
   }
 
-  ~TargetList() override;
-
   /// Create a new Target.
   ///
   /// Clients must use this function to create a Target. This allows


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D90895.303298.patch
Type: text/x-patch
Size: 953 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20201106/c2813f60/attachment.bin>


More information about the lldb-commits mailing list