diff options
author | Johnny Chen <johnny.chen@apple.com> | 2012-06-01 23:43:05 +0000 |
---|---|---|
committer | Johnny Chen <johnny.chen@apple.com> | 2012-06-01 23:43:05 +0000 |
commit | 847075607f536d5a2304880785825775ffe76d3b (patch) | |
tree | c98ee14478d04500d0672091606ce6826850009f /lldb/tools/debugserver/source/MacOSX/MachThread.cpp | |
parent | 2e1d9bac351f70f3551c66b38e3344e9f36c3af9 (diff) | |
download | bcm5719-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.cpp | 12 |
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()) |