diff options
-rw-r--r-- | lldb/source/Plugins/Process/Utility/HistoryThread.cpp | 3 | ||||
-rw-r--r-- | lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/lldb/source/Plugins/Process/Utility/HistoryThread.cpp b/lldb/source/Plugins/Process/Utility/HistoryThread.cpp index 0f7abc87ece..20a10106c2a 100644 --- a/lldb/source/Plugins/Process/Utility/HistoryThread.cpp +++ b/lldb/source/Plugins/Process/Utility/HistoryThread.cpp @@ -75,7 +75,8 @@ lldb::StackFrameListSP HistoryThread::GetStackFrameList () { // FIXME do not throw away the lock after we acquire it.. - std::lock_guard<std::mutex> lock(m_framelist_mutex); + std::unique_lock<std::mutex> lock(m_framelist_mutex); + lock.release(); if (m_framelist.get() == NULL) { m_framelist.reset (new StackFrameList (*this, StackFrameListSP(), true)); diff --git a/lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp b/lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp index 4ae324575c0..62e4bc0a347 100644 --- a/lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp +++ b/lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp @@ -65,7 +65,8 @@ bool HistoryUnwind::DoGetFrameInfoAtIndex (uint32_t frame_idx, lldb::addr_t& cfa, lldb::addr_t& pc) { // FIXME do not throw away the lock after we acquire it.. - std::lock_guard<std::recursive_mutex> guard(m_unwind_mutex); + std::unique_lock<std::recursive_mutex> guard(m_unwind_mutex); + guard.release(); if (frame_idx < m_pcs.size()) { cfa = frame_idx; |