================
@@ -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
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits