summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins
diff options
context:
space:
mode:
authorChaoren Lin <chaorenl@google.com>2015-02-03 01:50:54 +0000
committerChaoren Lin <chaorenl@google.com>2015-02-03 01:50:54 +0000
commit9d617ba613ea3cbeeac52dd976e7ccf5fff4b752 (patch)
treeebf06174c2da605dde9a3515fe539ff42f45e561 /lldb/source/Plugins
parentb8af31d4b60bee8dc4faefad30764cbce219e2a9 (diff)
downloadbcm5719-llvm-9d617ba613ea3cbeeac52dd976e7ccf5fff4b752.tar.gz
bcm5719-llvm-9d617ba613ea3cbeeac52dd976e7ccf5fff4b752.zip
Disabled local-llgs hijacking of state on startup; passed along signo to killed process.
It looks like Shawn's fix addresses what the initial hijacking was trying to accomplish per conversations with Greg and Jim. The hijacking was causing several tests to hang (#61, #62, #63, #64, #67, possibly more). These tests now just fail rather than hang with this modification. llvm-svn: 227914
Diffstat (limited to 'lldb/source/Plugins')
-rw-r--r--lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp2
-rw-r--r--lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp15
2 files changed, 4 insertions, 13 deletions
diff --git a/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp b/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp
index 41dd060ba3c..0e8d5ddd5fa 100644
--- a/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp
+++ b/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp
@@ -761,6 +761,7 @@ PlatformLinux::DebugProcess (ProcessLaunchInfo &launch_info,
// Adjust launch for a hijacker.
ListenerSP listener_sp;
+#if 0
if (!launch_info.GetHijackListener ())
{
if (log)
@@ -770,6 +771,7 @@ PlatformLinux::DebugProcess (ProcessLaunchInfo &launch_info,
launch_info.SetHijackListener (listener_sp);
process_sp->HijackProcessEvents (listener_sp.get ());
}
+#endif
// Log file actions.
if (log)
diff --git a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
index da71e15f991..d6270ecbfc0 100644
--- a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
+++ b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
@@ -2303,28 +2303,17 @@ NativeProcessLinux::MonitorSIGTRAP(const siginfo_t *info, lldb::pid_t pid)
is_main_thread ? "is main thread" : "not main thread");
}
- // We'll set the thread to exited later...
-// if (thread_sp)
-// reinterpret_cast<NativeThreadLinux*> (thread_sp.get ())->SetExited ();
-// else
-// {
-// if (log)
-// log->Printf ("NativeProcessLinux::%s() pid %" PRIu64 " failed to retrieve thread for tid %" PRIu64", cannot set thread state", __FUNCTION__, GetID (), pid);
-// }
-
- // FIXME: review if this is the spot, or the follow up, which tells us the real exit code.
- // If it's this one, we need to track it or set it here. Setting it here is not really in the
- // right time flow though unless we skip the follow up.
if (is_main_thread)
{
SetExitStatus (convert_pid_status_to_exit_type (data), convert_pid_status_to_return_code (data), nullptr, true);
}
+ const int signo = static_cast<int> (data);
m_coordinator_up->RequestThreadResume (pid,
[=](lldb::tid_t tid_to_resume)
{
reinterpret_cast<NativeThreadLinux*> (thread_sp.get ())->SetRunning ();
- Resume (tid_to_resume, LLDB_INVALID_SIGNAL_NUMBER);
+ Resume (tid_to_resume, signo);
},
CoordinatorErrorHandler);
OpenPOWER on IntegriCloud