diff options
author | Jim Ingham <jingham@apple.com> | 2012-02-16 06:50:00 +0000 |
---|---|---|
committer | Jim Ingham <jingham@apple.com> | 2012-02-16 06:50:00 +0000 |
commit | 4bddaeb5ab64cae450fafb419553d34d242fb512 (patch) | |
tree | 64cd496a3b9cc1b50b9d5e3c82b3d150f5c00786 /lldb/source/Target/Process.cpp | |
parent | 924f9a671d8a9e6156ea4519ad9f1ce36c708978 (diff) | |
download | bcm5719-llvm-4bddaeb5ab64cae450fafb419553d34d242fb512.tar.gz bcm5719-llvm-4bddaeb5ab64cae450fafb419553d34d242fb512.zip |
Add a general mechanism to wait on the debugger for Broadcasters of a given class/event bit set.
Use this to allow the lldb Driver to emit notifications for breakpoint modifications.
<rdar://problem/10619974>
llvm-svn: 150665
Diffstat (limited to 'lldb/source/Target/Process.cpp')
-rw-r--r-- | lldb/source/Target/Process.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp index 8083c9543bf..6f5589bb189 100644 --- a/lldb/source/Target/Process.cpp +++ b/lldb/source/Target/Process.cpp @@ -743,19 +743,25 @@ Process::FindPlugin (Target &target, const char *plugin_name, Listener &listener return process_sp; } +ConstString & +Process::GetStaticBroadcasterClass () +{ + static ConstString class_name ("lldb.process"); + return class_name; +} //---------------------------------------------------------------------- // Process constructor //---------------------------------------------------------------------- Process::Process(Target &target, Listener &listener) : UserID (LLDB_INVALID_PROCESS_ID), - Broadcaster ("lldb.process"), + Broadcaster (&(target.GetDebugger()), "lldb.process"), ProcessInstanceSettings (GetSettingsController()), m_target (target), m_public_state (eStateUnloaded), m_private_state (eStateUnloaded), - m_private_state_broadcaster ("lldb.process.internal_state_broadcaster"), - m_private_state_control_broadcaster ("lldb.process.internal_state_control_broadcaster"), + m_private_state_broadcaster (NULL, "lldb.process.internal_state_broadcaster"), + m_private_state_control_broadcaster (NULL, "lldb.process.internal_state_control_broadcaster"), m_private_state_listener ("lldb.process.internal_state_listener"), m_private_state_control_wait(), m_private_state_thread (LLDB_INVALID_HOST_THREAD), @@ -783,6 +789,8 @@ Process::Process(Target &target, Listener &listener) : m_can_jit(eCanJITDontKnow) { UpdateInstanceName(); + + CheckInWithManager (); LogSP log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_OBJECT)); if (log) |