[Lldb-commits] [lldb] [lldb] Fix scripted frame provider cross-thread re-entrant deadlock (PR #208242)

Jonas Devlieghere via lldb-commits lldb-commits at lists.llvm.org
Wed Aug 19 09:03:20 PDT 2026


================
@@ -37,6 +37,12 @@ class ScriptedInterface {
     return m_scripted_metadata;
   }
 
+  /// Whether the user can invoke this extension directly, the way a scripted
+  /// command can. Those never introduce the target's API mutex bypass, so at
+  /// top level they serialize like any other command; nested inside an
+  /// already-bypassed callback every extension inherits the ambient policy.
+  virtual bool UserCanRunDirectly() const { return false; }
----------------
JDevlieghere wrote:

Should this be inverted? Seems like a better default would be to always require proper locking and make opt-out the special case. Also, rather than a boolean which is harder to check, can we extract the logic into a hermetic function that does both?

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


More information about the lldb-commits mailing list