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

GetEngineByTID() private method

private GetEngineByTID ( Inferior inferior, long tid ) : SingleSteppingEngine
inferior Mono.Debugger.Backend.Inferior
tid long
return Mono.Debugger.Backend.SingleSteppingEngine
        internal SingleSteppingEngine GetEngineByTID(Inferior inferior, long tid)
        {
            foreach (SingleSteppingEngine engine in thread_hash.Values) {
                if (engine.TID == tid)
                    return engine;
            }

            if (thread_db == null) {
                Report.Error ("Failed to initialize thread_db on {0}: {1}",
                          start.CommandLine, start);
                return null;
            }

            SingleSteppingEngine result = null;
            thread_db.GetThreadInfo (inferior, delegate (int t_lwp, long t_tid) {
                if (tid != t_tid)
                    return;
                result = (SingleSteppingEngine) thread_hash [t_lwp];

            });

            if (result == null)
                Report.Error ("Cannot find thread {0:x} in {1}",
                          tid, start.CommandLine);

            return result;
        }