in src/csharp/MonoDebugSession.cs [826:839]
private void Terminate(string reason) {
if (!_terminated) {
// wait until we've seen the end of stdout and stderr
for (int i = 0; i < 100 && (_stdoutEOF == false || _stderrEOF == false); i++) {
System.Threading.Thread.Sleep(100);
}
SendEvent(new TerminatedEvent());
_terminated = true;
_process = null;
}
}