diff options
author | Greg Clayton <gclayton@apple.com> | 2014-02-24 22:50:57 +0000 |
---|---|---|
committer | Greg Clayton <gclayton@apple.com> | 2014-02-24 22:50:57 +0000 |
commit | e68f5d6b69f5328ec16178740abb39975d6b3224 (patch) | |
tree | 4082c39ae76f6264aa72730ff2210e3c91be8911 /lldb/source/Target/Process.cpp | |
parent | 301bafed782050edb8b4b7096f7b923953c26212 (diff) | |
download | bcm5719-llvm-e68f5d6b69f5328ec16178740abb39975d6b3224.tar.gz bcm5719-llvm-e68f5d6b69f5328ec16178740abb39975d6b3224.zip |
Fixed the command line LLDB so that "CTRL+C" will interrupt a running process again.
llvm-svn: 202086
Diffstat (limited to 'lldb/source/Target/Process.cpp')
-rw-r--r-- | lldb/source/Target/Process.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp index 40d3e4950c6..931a068243c 100644 --- a/lldb/source/Target/Process.cpp +++ b/lldb/source/Target/Process.cpp @@ -4824,13 +4824,21 @@ public: { } + virtual void - Interrupt () + Cancel () { size_t n = 1; char ch = 'q'; m_pipe_write.Write (&ch, n); } + + virtual void + Interrupt () + { + if (StateIsRunningState(m_process->GetState())) + m_process->Halt(); + } virtual void GotEOF() @@ -4859,7 +4867,7 @@ Process::CancelWatchForSTDIN (bool exited) { if (exited) m_process_input_reader->SetIsDone(true); - m_process_input_reader->Interrupt(); + m_process_input_reader->Cancel(); } } @@ -4903,7 +4911,7 @@ Process::PopProcessIOHandler () IOHandlerSP io_handler_sp (m_process_input_reader); if (io_handler_sp) { - io_handler_sp->Interrupt(); + io_handler_sp->Cancel(); m_target.GetDebugger().PopIOHandler (io_handler_sp); } } |