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

ResumeUserThreads() static private method

static private ResumeUserThreads ( ThreadingModel model, SingleSteppingEngine caller ) : void
model ThreadingModel
caller Mono.Debugger.Backend.SingleSteppingEngine
return void
        void ResumeUserThreads(ThreadingModel model, SingleSteppingEngine caller)
        {
            Report.Debug (DebugFlags.Threads,
                      "Resuming user threads: {0}", caller);

            foreach (SingleSteppingEngine engine in thread_hash.Values) {
                if (engine == caller)
                    continue;
                if ((engine.Thread.ThreadFlags & Thread.Flags.AutoRun) == 0)
                    continue;
                if (((engine.Thread.ThreadFlags & Thread.Flags.Immutable) != 0) &&
                    ((model & ThreadingModel.StopImmutableThreads) == 0))
                    continue;
                if (((engine.Thread.ThreadFlags & Thread.Flags.Daemon) != 0) &&
                    ((model & ThreadingModel.StopDaemonThreads) == 0))
                    continue;

                CommandResult result;
                if (current_operation != null)
                    result = current_operation;
                else
                    result = new ThreadCommandResult (engine.Thread);

                engine.ResumeUserThread (result);
            }

            Report.Debug (DebugFlags.Threads,
                      "Resumed user threads: {0}", caller);
        }