Mono.Debugger.Process.OperationCompleted C# (CSharp) Method

OperationCompleted() private method

private OperationCompleted ( SingleSteppingEngine caller, TargetEventArgs result, ThreadingModel model ) : void
caller Mono.Debugger.Backend.SingleSteppingEngine
result TargetEventArgs
model ThreadingModel
return void
        internal void OperationCompleted(SingleSteppingEngine caller, TargetEventArgs result, ThreadingModel model)
        {
            if (!ThreadManager.InBackgroundThread && Inferior.HasThreadEvents)
                throw new InternalError ();

            if (current_state == ProcessState.Stopping)
                return;
            else if (current_state != ProcessState.Running)
                throw new InternalError ();

            if ((result != null) && (caller != main_thread) &&
                ((result.Type == TargetEventType.TargetExited) || (result.Type == TargetEventType.TargetSignaled)))
                return;

            current_state = ProcessState.Stopping;
            SuspendUserThreads (model, caller);

            lock (this) {
                current_state = ProcessState.Stopped;
                current_operation.Completed ();
                current_operation = null;
                stopped_event.Set ();
            }
        }

Usage Example

Beispiel #1
0
 void IOperationHost.OperationCompleted(SingleSteppingEngine caller, TargetEventArgs result, ThreadingModel model)
 {
     Process.OperationCompleted(caller, result, model);
 }