internal void OnProcessExitedEvent()
{
DropGlobalThreadLock ();
if (current_state == ProcessState.Running) {
current_state = ProcessState.Exited;
current_operation.Completed ();
current_operation = null;
stopped_event.Set ();
}
if (!is_forked)
session.OnProcessExited (this);
session.MainThreadGroup.RemoveThread (main_thread.ID);
manager.Debugger.OnProcessExitedEvent (this);
}