diff options
author | Jim Ingham <jingham@apple.com> | 2016-03-07 21:50:25 +0000 |
---|---|---|
committer | Jim Ingham <jingham@apple.com> | 2016-03-07 21:50:25 +0000 |
commit | 583bbb1dd46e1665c2d5f31d4e4772bf6207c1c0 (patch) | |
tree | 08371c4b8334ea4e9a7f1ce3d29420712fd7949a /lldb/source/API/SBBroadcaster.cpp | |
parent | 2a831fb8264e6a53a8b08b90107f3b176c152db2 (diff) | |
download | bcm5719-llvm-583bbb1dd46e1665c2d5f31d4e4772bf6207c1c0.tar.gz bcm5719-llvm-583bbb1dd46e1665c2d5f31d4e4772bf6207c1c0.zip |
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
Diffstat (limited to 'lldb/source/API/SBBroadcaster.cpp')
-rw-r--r-- | lldb/source/API/SBBroadcaster.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lldb/source/API/SBBroadcaster.cpp b/lldb/source/API/SBBroadcaster.cpp index 73eac5183f8..4b751adc295 100644 --- a/lldb/source/API/SBBroadcaster.cpp +++ b/lldb/source/API/SBBroadcaster.cpp @@ -117,14 +117,14 @@ SBBroadcaster::AddInitialEventsToListener (const SBListener &listener, uint32_t static_cast<void*>(m_opaque_ptr), static_cast<void*>(listener.get()), requested_events); if (m_opaque_ptr) - m_opaque_ptr->AddInitialEventsToListener (listener.get(), requested_events); + m_opaque_ptr->AddInitialEventsToListener (listener.m_opaque_sp, requested_events); } uint32_t SBBroadcaster::AddListener (const SBListener &listener, uint32_t event_mask) { if (m_opaque_ptr) - return m_opaque_ptr->AddListener (listener.get(), event_mask); + return m_opaque_ptr->AddListener (listener.m_opaque_sp, event_mask); return 0; } @@ -148,7 +148,7 @@ bool SBBroadcaster::RemoveListener (const SBListener &listener, uint32_t event_mask) { if (m_opaque_ptr) - return m_opaque_ptr->RemoveListener (listener.get(), event_mask); + return m_opaque_ptr->RemoveListener (listener.m_opaque_sp, event_mask); return false; } |