summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/lldb.xcodeproj/project.pbxproj1
-rw-r--r--lldb/source/Core/Broadcaster.cpp12
-rw-r--r--lldb/source/Target/Process.cpp21
3 files changed, 18 insertions, 16 deletions
diff --git a/lldb/lldb.xcodeproj/project.pbxproj b/lldb/lldb.xcodeproj/project.pbxproj
index 6f8eba43164..15016988cdc 100644
--- a/lldb/lldb.xcodeproj/project.pbxproj
+++ b/lldb/lldb.xcodeproj/project.pbxproj
@@ -2384,7 +2384,6 @@
isa = PBXProject;
buildConfigurationList = 1DEB91EF08733DB70010E9CD /* Build configuration list for PBXProject "lldb" */;
compatibilityVersion = "Xcode 3.1";
- developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
en,
diff --git a/lldb/source/Core/Broadcaster.cpp b/lldb/source/Core/Broadcaster.cpp
index ad8c64afa72..c54b64069ea 100644
--- a/lldb/source/Core/Broadcaster.cpp
+++ b/lldb/source/Core/Broadcaster.cpp
@@ -213,16 +213,18 @@ Broadcaster::PrivateBroadcastEvent (EventSP &event_sp, bool unique)
const uint32_t event_type = event_sp->GetType();
- LogSP log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_EVENTS));
+ Mutex::Locker event_types_locker(m_listeners_mutex);
+ LogSP log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_EVENTS | LIBLLDB_LOG_PROCESS));
if (log)
{
StreamString event_description;
event_sp->Dump (&event_description);
- log->Printf ("%p Broadcaster(\"%s\")::BroadcastEvent (event_sp = {%s}, unique =%i)",
+ log->Printf ("%p Broadcaster(\"%s\")::BroadcastEvent (event_sp = {%s}, unique =%i) hijack = %p",
this,
m_broadcaster_name.AsCString(""),
event_description.GetData(),
- unique);
+ unique,
+ m_hijacking_listener);
}
if (m_hijacking_listener != NULL && m_hijacking_mask & event_type)
@@ -233,7 +235,6 @@ Broadcaster::PrivateBroadcastEvent (EventSP &event_sp, bool unique)
}
else
{
- Mutex::Locker event_types_locker(m_listeners_mutex);
collection::iterator pos, end = m_listeners.end();
@@ -270,7 +271,8 @@ bool
Broadcaster::HijackBroadcaster (Listener *listener, uint32_t event_mask)
{
Mutex::Locker event_types_locker(m_listeners_mutex);
-
+ assert (m_hijacking_listener == NULL);
+
if (m_hijacking_listener != NULL)
return false;
diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp
index c7d511e4887..aa0170ca836 100644
--- a/lldb/source/Target/Process.cpp
+++ b/lldb/source/Target/Process.cpp
@@ -2627,15 +2627,15 @@ Process::RunThreadPlan (ExecutionContext &exe_ctx,
exe_ctx.thread->QueueThreadPlan(thread_plan_sp, true);
- Listener listener("ClangFunction temporary listener");
+ Listener listener("lldb.process.listener.run-thread-plan");
exe_ctx.process->HijackProcessEvents(&listener);
- lldb::LogSP log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_STEP));
+ lldb::LogSP log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_STEP | LIBLLDB_LOG_PROCESS));
if (log)
{
StreamString s;
thread_plan_sp->GetDescription(&s, lldb::eDescriptionLevelVerbose);
- log->Printf ("Resuming thread 0x%x to run thread plan \"%s\".", tid, s.GetData());
+ log->Printf ("Resuming thread %u - 0x%4.4x to run thread plan \"%s\".", exe_ctx.thread->GetIndexID(), exe_ctx.thread->GetID(), s.GetData());
}
Error resume_error = exe_ctx.process->Resume ();
@@ -2738,14 +2738,15 @@ Process::RunThreadPlan (ExecutionContext &exe_ctx,
if (log)
log->Printf ("Halt failed: \"%s\", I'm just going to wait a little longer and see if the world gets nicer to me.",
halt_error.AsCString());
+ abort();
- if (single_thread_timeout_usec != 0)
- {
- real_timeout = TimeValue::Now();
- real_timeout.OffsetWithMicroSeconds(single_thread_timeout_usec);
- timeout_ptr = &real_timeout;
- }
- continue;
+ if (single_thread_timeout_usec != 0)
+ {
+ real_timeout = TimeValue::Now();
+ real_timeout.OffsetWithMicroSeconds(single_thread_timeout_usec);
+ timeout_ptr = &real_timeout;
+ }
+ continue;
}
}
OpenPOWER on IntegriCloud