[Lldb-commits] [lldb] r202513 - Restore signal delivery to the inferior on FreeBSD
Ed Maste
emaste at freebsd.org
Fri Feb 28 09:13:39 PST 2014
Author: emaste
Date: Fri Feb 28 11:13:39 2014
New Revision: 202513
URL: http://llvm.org/viewvc/llvm-project?rev=202513&view=rev
Log:
Restore signal delivery to the inferior on FreeBSD
This was broken in the threaded inferior implementation for FreeBSD
(r196787) and caused FreeBSD to resume always with no signal.
Modified:
lldb/trunk/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
lldb/trunk/test/expression_command/call-restarts/TestCallThatRestarts.py
Modified: lldb/trunk/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp?rev=202513&r1=202512&r2=202513&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp (original)
+++ lldb/trunk/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp Fri Feb 28 11:13:39 2014
@@ -113,7 +113,8 @@ ProcessFreeBSD::EnablePluginLogging(Stre
// Constructors and destructors.
ProcessFreeBSD::ProcessFreeBSD(Target& target, Listener &listener)
- : ProcessPOSIX(target, listener)
+ : ProcessPOSIX(target, listener),
+ m_resume_signo(0)
{
}
@@ -147,9 +148,6 @@ ProcessFreeBSD::DoResume()
{
Log *log (ProcessPOSIXLog::GetLogIfAllCategoriesSet (POSIX_LOG_PROCESS));
- // FreeBSD's ptrace() uses 0 to indicate "no signal is to be sent."
- int resume_signal = 0;
-
SetPrivateState(eStateRunning);
Mutex::Locker lock(m_thread_list.GetMutex());
@@ -174,9 +172,9 @@ ProcessFreeBSD::DoResume()
if (log)
log->Printf("process %lu resuming (%s)", GetID(), do_step ? "step" : "continue");
if (do_step)
- m_monitor->SingleStep(GetID(), resume_signal);
+ m_monitor->SingleStep(GetID(), m_resume_signo);
else
- m_monitor->Resume(GetID(), resume_signal);
+ m_monitor->Resume(GetID(), m_resume_signo);
return Error();
}
@@ -228,6 +226,7 @@ ProcessFreeBSD::UpdateThreadList(ThreadL
Error
ProcessFreeBSD::WillResume()
{
+ m_resume_signo = 0;
m_suspend_tids.clear();
m_run_tids.clear();
m_step_tids.clear();
Modified: lldb/trunk/test/expression_command/call-restarts/TestCallThatRestarts.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/expression_command/call-restarts/TestCallThatRestarts.py?rev=202513&r1=202512&r2=202513&view=diff
==============================================================================
--- lldb/trunk/test/expression_command/call-restarts/TestCallThatRestarts.py (original)
+++ lldb/trunk/test/expression_command/call-restarts/TestCallThatRestarts.py Fri Feb 28 11:13:39 2014
@@ -26,7 +26,6 @@ class ExprCommandWithTimeoutsTestCase(Te
self.buildDsym()
self.call_function()
- @skipIfFreeBSD # llvm.org/pr15278
@dwarf_test
def test_with_dwarf(self):
"""Test calling std::String member function."""
More information about the lldb-commits
mailing list