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.

llvm-svn: 202513
diff --git a/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp b/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
index d13b9a4..6984a0c 100644
--- a/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
+++ b/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
@@ -113,7 +113,8 @@
 // Constructors and destructors.
 
 ProcessFreeBSD::ProcessFreeBSD(Target& target, Listener &listener)
-    : ProcessPOSIX(target, listener)
+    : ProcessPOSIX(target, listener),
+      m_resume_signo(0)
 {
 }
 
@@ -147,9 +148,6 @@
 {
     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 @@
     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 @@
 Error
 ProcessFreeBSD::WillResume()
 {
+    m_resume_signo = 0;
     m_suspend_tids.clear();
     m_run_tids.clear();
     m_step_tids.clear();