internal void Stop() { main_thread.Invoke(delegate { current_state = ProcessState.Stopping; SuspendUserThreads(ThreadingModel.Process, null); current_state = ProcessState.Stopped; if (current_operation != null) { current_operation.Completed(); current_operation = null; } stopped_event.Set(); return(null); }, null); }