summaryrefslogtreecommitdiffstats
path: root/lldb/source/Target
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Target')
-rw-r--r--lldb/source/Target/Process.cpp6
-rw-r--r--lldb/source/Target/Thread.cpp8
-rw-r--r--lldb/source/Target/ThreadList.cpp8
3 files changed, 22 insertions, 0 deletions
diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp
index 3a9b3605511..4225b807c76 100644
--- a/lldb/source/Target/Process.cpp
+++ b/lldb/source/Target/Process.cpp
@@ -4707,6 +4707,12 @@ Process::ClearPreResumeActions ()
m_pre_resume_actions.clear();
}
+void
+Process::Flush ()
+{
+ m_thread_list.Flush();
+}
+
//--------------------------------------------------------------
// class Process::SettingsController
//--------------------------------------------------------------
diff --git a/lldb/source/Target/Thread.cpp b/lldb/source/Target/Thread.cpp
index 5c3c1970146..4513577c9b5 100644
--- a/lldb/source/Target/Thread.cpp
+++ b/lldb/source/Target/Thread.cpp
@@ -1410,6 +1410,14 @@ Thread::GetUnwinder ()
}
+void
+Thread::Flush ()
+{
+ ClearStackFrames ();
+ m_reg_context_sp.reset();
+}
+
+
#pragma mark "Thread::SettingsController"
//--------------------------------------------------------------
// class Thread::SettingsController
diff --git a/lldb/source/Target/ThreadList.cpp b/lldb/source/Target/ThreadList.cpp
index e1c38664aa5..3152c1560cd 100644
--- a/lldb/source/Target/ThreadList.cpp
+++ b/lldb/source/Target/ThreadList.cpp
@@ -605,4 +605,12 @@ ThreadList::Update (ThreadList &rhs)
}
}
+void
+ThreadList::Flush ()
+{
+ Mutex::Locker locker(m_threads_mutex);
+ collection::iterator pos, end = m_threads.end();
+ for (pos = m_threads.begin(); pos != end; ++pos)
+ (*pos)->Flush ();
+}
OpenPOWER on IntegriCloud