zturner added inline comments.
================ Comment at: include/lldb/Breakpoint/BreakpointSiteList.h:159-175 + class Guard final { + std::recursive_mutex *m_mutex; - typedef void (*BreakpointSiteSPMapFunc)(lldb::BreakpointSiteSP &bp, - void *baton); + public: + explicit Guard(std::recursive_mutex &mutex) : m_mutex(&mutex) { + m_mutex->lock(); + } ---------------- tatyana-krasnukha wrote: > labath wrote: > > How is this class different from a std::unique_lock ? > std::unique_lock allows to call lock() and unlock() manually. Such > flexibility makes code more bug-prone, so I try to avoid it if it is not > really needed. > > I might inherit Guard from std::unique_lock and hide these functions, if it > looks better... In that case use `std::lock_guard`. it is the same as `unique_lock` but doesn't allow calling `lock` and `unlock`. So it sounds like exactly what you want. https://reviews.llvm.org/D39967 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits