Another optimization to keep down gdb-remote traffic.  If we have suspended a thread while
running, don't request the thread status when deciding why we stopped.

llvm-svn: 252355
diff --git a/lldb/source/Target/Thread.cpp b/lldb/source/Target/Thread.cpp
index a1a91a5..6299436 100644
--- a/lldb/source/Target/Thread.cpp
+++ b/lldb/source/Target/Thread.cpp
@@ -726,14 +726,17 @@
     m_discarded_plan_stack.clear();
     m_override_should_notify = eLazyBoolCalculate;
 
-    m_temporary_resume_state = resume_state;
+    StateType prev_resume_state = GetTemporaryResumeState();
+
+    SetTemporaryResumeState(resume_state);
     
     lldb::ThreadSP backing_thread_sp (GetBackingThread ());
     if (backing_thread_sp)
-        backing_thread_sp->m_temporary_resume_state = resume_state;
+        backing_thread_sp->SetTemporaryResumeState(resume_state);
 
-    // Make sure m_stop_info_sp is valid
-    GetPrivateStopInfo();
+    // Make sure m_stop_info_sp is valid.  Don't do this for threads we suspended in the previous run.
+    if (prev_resume_state != eStateSuspended)
+        GetPrivateStopInfo();
     
     // This is a little dubious, but we are trying to limit how often we actually fetch stop info from
     // the target, 'cause that slows down single stepping.  So assume that if we got to the point where