Mono.Debugger.Backend.SingleSteppingEngine.OperationManagedCallback.Run C# (CSharp) Method

Run() public method

public Run ( ) : bool
return bool
            public bool Run()
            {
                Report.Debug (DebugFlags.SSE, "{0} managed callback execute: {1}",
                      sse, sse.thread_lock);

                //
                // Steal the thread-lock.
                //

                if (sse.HasThreadLock) {
                this.thread_lock = sse.thread_lock;
                sse.thread_lock = null;

                this.thread_lock.PopRegisters (inferior);
                }

                if (do_execute ()) {
                sse.PushOperationNoExec (this);
                return true;
                }

                //
                // If we actually stole the thread-lock, then we must give it back here.
                //

                if ((thread_lock != null) && (thread_lock.StopEvent != null)) {
                sse.ThreadManager.AddPendingEvent (sse, thread_lock.StopEvent);
                return true;
                }

                return false;
            }