summaryrefslogtreecommitdiffstats
path: root/lldb/source/Breakpoint/BreakpointList.cpp
diff options
context:
space:
mode:
authorJim Ingham <jingham@apple.com>2012-05-17 18:38:42 +0000
committerJim Ingham <jingham@apple.com>2012-05-17 18:38:42 +0000
commit4a94c91077a17d790956a6bfcf2e171b00bae100 (patch)
treee7b27ef322b77138115d8d8c0b8ca86fa2affe6b /lldb/source/Breakpoint/BreakpointList.cpp
parent276a3e8c4635a0b5cb9a2252f3fd3e20b5c79cbb (diff)
downloadbcm5719-llvm-4a94c91077a17d790956a6bfcf2e171b00bae100.tar.gz
bcm5719-llvm-4a94c91077a17d790956a6bfcf2e171b00bae100.zip
If we notice that a module with a given file path is replaced by another with the same file
path on rerunning, evict the old module from the target module list, inform the breakpoints about this so they can do something intelligent as well. rdar://problem/11273043 llvm-svn: 157008
Diffstat (limited to 'lldb/source/Breakpoint/BreakpointList.cpp')
-rw-r--r--lldb/source/Breakpoint/BreakpointList.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/lldb/source/Breakpoint/BreakpointList.cpp b/lldb/source/Breakpoint/BreakpointList.cpp
index e1aa2dbcb1e..6a91bd6731a 100644
--- a/lldb/source/Breakpoint/BreakpointList.cpp
+++ b/lldb/source/Breakpoint/BreakpointList.cpp
@@ -210,6 +210,17 @@ BreakpointList::UpdateBreakpoints (ModuleList& module_list, bool added)
}
void
+BreakpointList::UpdateBreakpointsWhenModuleIsReplaced (ModuleSP old_module_sp, ModuleSP new_module_sp)
+{
+ Mutex::Locker locker(m_mutex);
+ bp_collection::iterator end = m_breakpoints.end();
+ bp_collection::iterator pos;
+ for (pos = m_breakpoints.begin(); pos != end; ++pos)
+ (*pos)->ModuleReplaced (old_module_sp, new_module_sp);
+
+}
+
+void
BreakpointList::ClearAllBreakpointSites ()
{
Mutex::Locker locker(m_mutex);
OpenPOWER on IntegriCloud