internal void ThreadCreated(Inferior inferior, int pid, bool do_attach, bool resume_thread)
{
Inferior new_inferior = inferior.CreateThread (pid, do_attach);
SingleSteppingEngine new_thread = new SingleSteppingEngine (manager, this, new_inferior, pid);
Report.Debug (DebugFlags.Threads, "Thread created: {0} {1} {2}", pid, new_thread, do_attach);
if (mono_manager != null)
mono_manager.ThreadCreated (new_thread);
if (!do_attach && !is_execed)
get_thread_info (inferior, new_thread);
OnThreadCreatedEvent (new_thread);
if (resume_thread) {
CommandResult result = current_operation != null ?
current_operation : new ThreadCommandResult (new_thread.Thread);
new_thread.StartThread (result);
} else {
new_thread.StartSuspended ();
}
}