summaryrefslogtreecommitdiffstats
path: root/lldb/source/Target/Process.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Target/Process.cpp')
-rw-r--r--lldb/source/Target/Process.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp
index e50ecf27ef0..cebec5bbd31 100644
--- a/lldb/source/Target/Process.cpp
+++ b/lldb/source/Target/Process.cpp
@@ -1478,10 +1478,6 @@ Process::Halt ()
}
else
{
- // Since we are eating the event, we need to update our state
- // otherwise the process state will not match reality...
- SetPublicState(state);
-
if (StateIsStoppedState (state))
{
// We caused the process to interrupt itself, so mark this
@@ -1508,7 +1504,7 @@ Process::Halt ()
// stopped the process, intercepted the event and set the interrupted
// bool in the event.
if (event_sp)
- BroadcastEvent(event_sp);
+ m_private_state_broadcaster.BroadcastEvent(event_sp);
}
return error;
@@ -2175,6 +2171,14 @@ Process::ProcessInputReaderCallback (void *baton,
}
break;
+ case eInputReaderInterrupt:
+ process->Halt ();
+ break;
+
+ case eInputReaderEndOfFile:
+ process->AppendSTDOUT ("^D", 2);
+ break;
+
case eInputReaderDone:
break;
OpenPOWER on IntegriCloud