summaryrefslogtreecommitdiffstats
path: root/lldb/tools/debugserver/source/MacOSX/MachThread.cpp
diff options
context:
space:
mode:
authorJohnny Chen <johnny.chen@apple.com>2012-06-01 23:43:05 +0000
committerJohnny Chen <johnny.chen@apple.com>2012-06-01 23:43:05 +0000
commit847075607f536d5a2304880785825775ffe76d3b (patch)
treec98ee14478d04500d0672091606ce6826850009f /lldb/tools/debugserver/source/MacOSX/MachThread.cpp
parent2e1d9bac351f70f3551c66b38e3344e9f36c3af9 (diff)
downloadbcm5719-llvm-847075607f536d5a2304880785825775ffe76d3b.tar.gz
bcm5719-llvm-847075607f536d5a2304880785825775ffe76d3b.zip
rdar://problem/11320188
Designate MachThreadList as a transaction coordinator when doing Enable/DisableHardwareWatchpoint on the list of threads. In case the operation (iterating on the threads and doing enable/disable) fails in the middle, we rollback the already enabled/disabled threads to their checkpointed states. When all the threads succeed in enable/disable, we ask each thread to finsih the transaction and commit the change of the debug state. llvm-svn: 157858
Diffstat (limited to 'lldb/tools/debugserver/source/MacOSX/MachThread.cpp')
-rw-r--r--lldb/tools/debugserver/source/MacOSX/MachThread.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/lldb/tools/debugserver/source/MacOSX/MachThread.cpp b/lldb/tools/debugserver/source/MacOSX/MachThread.cpp
index aca47f9120f..f9e3dd569f6 100644
--- a/lldb/tools/debugserver/source/MacOSX/MachThread.cpp
+++ b/lldb/tools/debugserver/source/MacOSX/MachThread.cpp
@@ -700,6 +700,18 @@ MachThread::HardwareWatchpointStateChanged ()
}
bool
+MachThread::RollbackTransForHWP()
+{
+ return m_arch_ap->RollbackTransForHWP();
+}
+
+bool
+MachThread::FinishTransForHWP()
+{
+ return m_arch_ap->FinishTransForHWP();
+}
+
+bool
MachThread::DisableHardwareBreakpoint (const DNBBreakpoint *bp)
{
if (bp != NULL && bp->IsHardware())
OpenPOWER on IntegriCloud