[Lldb-commits] [lldb] SBDebugger: Add new APIs `AddDestroyCallback` and `RemoveDestroyCallback` (PR #89868)

Jonas Devlieghere via lldb-commits lldb-commits at lists.llvm.org
Thu May 2 09:21:24 PDT 2024


================
@@ -731,8 +747,11 @@ class Debugger : public std::enable_shared_from_this<Debugger>,
   lldb::TargetSP m_dummy_target_sp;
   Diagnostics::CallbackID m_diagnostics_callback_id;
 
-  lldb_private::DebuggerDestroyCallback m_destroy_callback = nullptr;
-  void *m_destroy_callback_baton = nullptr;
+  std::recursive_mutex m_destroy_callback_mutex;
+  lldb::destroy_callback_token_t m_destroy_callback_next_token = 0;
+  std::unordered_map<lldb::destroy_callback_token_t,
+                     std::pair<lldb_private::DebuggerDestroyCallback, void *>>
+      m_destroy_callback_and_baton;
----------------
JDevlieghere wrote:

Given we expect the number of callbacks to be small, let's use a `llvm::SmallDenseMap` for this. 

https://github.com/llvm/llvm-project/pull/89868


More information about the lldb-commits mailing list