Change over the broadcaster/listener process to hold shared or weak pointers

to each other.  This should remove some infrequent teardown crashes when the
listener is not the debugger's listener.

Processes now need to take a ListenerSP, not a Listener&.

This required changing over the Process plugin class constructors to take a ListenerSP, instead
of a Listener&.   Other than that there should be no functional change.
 
<rdar://problem/24580184> CrashTracer: [USER] Xcode at …ework: lldb_private::Listener::BroadcasterWillDestruct + 39

llvm-svn: 262863
This commit is contained in:
Jim Ingham
2016-03-07 21:50:25 +00:00
parent 2a831fb826
commit 583bbb1dd4
50 changed files with 814 additions and 467 deletions

View File

@@ -29,8 +29,8 @@ namespace lldb_private
//------------------------------------------------------------------------------
// Constructors and destructors.
ProcessWindows::ProcessWindows(lldb::TargetSP target_sp, Listener &listener)
: lldb_private::Process(target_sp, listener)
ProcessWindows::ProcessWindows(lldb::TargetSP target_sp, lldb::ListenerSP listener_sp)
: lldb_private::Process(target_sp, listener_sp)
{
}