[Lldb-commits] [lldb] r194367 - The Threads created when requesting extended backtraces need to be owned by

Jason Molenda jmolenda at apple.com
Sun Nov 10 21:20:45 PST 2013


Author: jmolenda
Date: Sun Nov 10 23:20:44 2013
New Revision: 194367

URL: http://llvm.org/viewvc/llvm-project?rev=194367&view=rev
Log:
The Threads created when requesting extended backtraces need to be owned by
something; add a new ExtendedThreadList to Process where they can be retained
for the duration of a public stop.
<rdar://problem/15314068> 


Modified:
    lldb/trunk/source/Target/Process.cpp

Modified: lldb/trunk/source/Target/Process.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/Process.cpp?rev=194367&r1=194366&r2=194367&view=diff
==============================================================================
--- lldb/trunk/source/Target/Process.cpp (original)
+++ lldb/trunk/source/Target/Process.cpp Sun Nov 10 23:20:44 2013
@@ -1023,6 +1023,7 @@ Process::Process(Target &target, Listene
     m_thread_mutex (Mutex::eMutexTypeRecursive),
     m_thread_list_real (this),
     m_thread_list (this),
+    m_extended_thread_list (this),
     m_notifications (),
     m_image_tokens (),
     m_listener (listener),
@@ -1148,6 +1149,7 @@ Process::Finalize()
     m_dyld_ap.reset();
     m_thread_list_real.Destroy();
     m_thread_list.Destroy();
+    m_extended_thread_list.Destroy();
     std::vector<Notifications> empty_notifications;
     m_notifications.swap(empty_notifications);
     m_image_tokens.clear();
@@ -1592,6 +1594,8 @@ Process::UpdateThreadListIfNeeded ()
                 m_thread_list.Update (new_thread_list);
                 m_thread_list.SetStopID (stop_id);
             }
+            // Clear any extended threads that we may have accumulated previously
+            m_extended_thread_list.Clear();
         }
     }
 }





More information about the lldb-commits mailing list