summaryrefslogtreecommitdiffstats
path: root/lldb/source/Target/Process.cpp
diff options
context:
space:
mode:
authorJim Ingham <jingham@apple.com>2012-02-16 06:50:00 +0000
committerJim Ingham <jingham@apple.com>2012-02-16 06:50:00 +0000
commit4bddaeb5ab64cae450fafb419553d34d242fb512 (patch)
tree64cd496a3b9cc1b50b9d5e3c82b3d150f5c00786 /lldb/source/Target/Process.cpp
parent924f9a671d8a9e6156ea4519ad9f1ce36c708978 (diff)
downloadbcm5719-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.cpp14
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)
OpenPOWER on IntegriCloud