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); }