[Lldb-commits] [lldb] r211541 - Temporarily roll back the parts of r211241 where I fixed a
Jason Molenda
jmolenda at apple.com
Mon Jun 23 14:30:15 PDT 2014
Author: jmolenda
Date: Mon Jun 23 16:30:15 2014
New Revision: 211541
URL: http://llvm.org/viewvc/llvm-project?rev=211541&view=rev
Log:
Temporarily roll back the parts of r211241 where I fixed a
mistake in the lock acquistion in HistoryUnwind and HistoryThread.
We've got a deadlock with one use case of HistoryUnwind; I
need to figure out what lock ordering is causing this and fix
it for real.
<rdar://problem/17411904>
Modified:
lldb/trunk/source/Plugins/Process/Utility/HistoryThread.cpp
lldb/trunk/source/Plugins/Process/Utility/HistoryUnwind.cpp
Modified: lldb/trunk/source/Plugins/Process/Utility/HistoryThread.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/Utility/HistoryThread.cpp?rev=211541&r1=211540&r2=211541&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/Utility/HistoryThread.cpp (original)
+++ lldb/trunk/source/Plugins/Process/Utility/HistoryThread.cpp Mon Jun 23 16:30:15 2014
@@ -78,7 +78,7 @@ HistoryThread::CreateRegisterContextForF
lldb::StackFrameListSP
HistoryThread::GetStackFrameList ()
{
- Mutex::Locker locker(m_framelist_mutex);
+ Mutex::Locker (m_framelist_mutex); // FIXME do not throw away the lock after we acquire it..
if (m_framelist.get() == NULL)
{
m_framelist.reset (new StackFrameList (*this, StackFrameListSP(), true));
Modified: lldb/trunk/source/Plugins/Process/Utility/HistoryUnwind.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/Utility/HistoryUnwind.cpp?rev=211541&r1=211540&r2=211541&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/Utility/HistoryUnwind.cpp (original)
+++ lldb/trunk/source/Plugins/Process/Utility/HistoryUnwind.cpp Mon Jun 23 16:30:15 2014
@@ -66,7 +66,7 @@ HistoryUnwind::DoCreateRegisterContextFo
bool
HistoryUnwind::DoGetFrameInfoAtIndex (uint32_t frame_idx, lldb::addr_t& cfa, lldb::addr_t& pc)
{
- Mutex::Locker locker(m_unwind_mutex);
+ Mutex::Locker (m_unwind_mutex); // FIXME do not throw away the lock after we acquire it..
if (frame_idx < m_pcs.size())
{
cfa = frame_idx;
More information about the lldb-commits
mailing list