[Lldb-commits] [lldb] [lldb] Expose the Target API lock through the SB API (PR #131404)
Jonas Devlieghere via lldb-commits
lldb-commits at lists.llvm.org
Fri Mar 14 16:15:56 PDT 2025
================
@@ -1692,6 +1692,20 @@ class Target : public std::enable_shared_from_this<Target>,
}
};
+/// The private implementation backing SBLock.
+struct APILock {
+ APILock(std::recursive_mutex &mutex) : lock(mutex) {}
+ std::lock_guard<std::recursive_mutex> lock;
+};
+
+/// The private implementation used by SBLock to hand out the target API mutex.
+/// It has a TargetSP to ensure the lock cannot outlive the target.
+struct TargetAPILock : public APILock {
----------------
JDevlieghere wrote:
I consciously did it this way to avoid giving the impression that `SBLock` can only be used for the target API lock. The latter is the only user, but if in the future there's another lock we want to expose through the SB API, it can inherit from this class.
https://github.com/llvm/llvm-project/pull/131404
More information about the lldb-commits
mailing list