diff options
author | Chaoren Lin <chaorenl@google.com> | 2015-02-03 01:50:44 +0000 |
---|---|---|
committer | Chaoren Lin <chaorenl@google.com> | 2015-02-03 01:50:44 +0000 |
commit | 938fcf63ed11e77a0f1cb030637d6163314cc276 (patch) | |
tree | ee9565b83ecd6997196ccd1470165ff0e729611c /lldb/source/Plugins/Process | |
parent | fa03ad2ebc7306bf2a952f9d5c5ca3d39cfff63c (diff) | |
download | bcm5719-llvm-938fcf63ed11e77a0f1cb030637d6163314cc276.tar.gz bcm5719-llvm-938fcf63ed11e77a0f1cb030637d6163314cc276.zip |
llgs: fixed a bug in deferred signal thread id; added coordinator enqueue logging.
The deferred signal thread id was being set with the process id
unintentionally in NativeProcessLinux::CallAfterRunningThreadsStop().
llvm-svn: 227910
Diffstat (limited to 'lldb/source/Plugins/Process')
-rw-r--r-- | lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp | 2 | ||||
-rw-r--r-- | lldb/source/Plugins/Process/Linux/ThreadStateCoordinator.cpp | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp index 7ec7a180c9c..d88196f94ce 100644 --- a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp +++ b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp @@ -3894,7 +3894,7 @@ NativeProcessLinux::CallAfterRunningThreadsStop (lldb::tid_t tid, const std::function<void (lldb::tid_t tid)> &call_after_function) { const lldb::pid_t pid = GetID (); - m_coordinator_up->CallAfterRunningThreadsStop (pid, + m_coordinator_up->CallAfterRunningThreadsStop (tid, [=](lldb::tid_t request_stop_tid) { tgkill (pid, request_stop_tid, SIGSTOP); diff --git a/lldb/source/Plugins/Process/Linux/ThreadStateCoordinator.cpp b/lldb/source/Plugins/Process/Linux/ThreadStateCoordinator.cpp index 128173d4f45..e4d412e2386 100644 --- a/lldb/source/Plugins/Process/Linux/ThreadStateCoordinator.cpp +++ b/lldb/source/Plugins/Process/Linux/ThreadStateCoordinator.cpp @@ -528,7 +528,11 @@ void ThreadStateCoordinator::EnqueueEvent (EventBaseSP event_sp) { std::lock_guard<std::mutex> lock (m_queue_mutex); + m_event_queue.push (event_sp); + if (m_log_event_processing) + Log ("ThreadStateCoordinator::%s enqueued event: %s", __FUNCTION__, event_sp->GetDescription ().c_str ()); + m_queue_condition.notify_one (); } |