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