Exemple #1
0
 private void ThreadAssignedToOsThreadCallback(ThreadAssignedToOsThread arg)
 {
     if (_appPid == 0)
     {
         _appPid = arg.OsThreadId;
         Task.Run(() =>
         {
             if (!SendCommandToControlProcess($"test {_appPid}"))
             {
                 SetAsyncError();
             }
         });
     }
 }
Exemple #2
0
        private void ThreadAssignedToOsThreadCallback(ThreadAssignedToOsThread arg)
        {
            Thread thread = GetThreadByInternalId(arg.InternalId);

            if (thread == null)
            {
                thread = new Thread {
                    InternalId = arg.InternalId, OsThreadId = arg.OsThreadId
                };
                AddThread(thread, _globalTimeMilliseconds);
            }
            else
            {
                // CLR can reassign managed threads to different OS threads
                Threads.ClearOsThreadId(arg.OsThreadId);
                thread.OsThreadId = arg.OsThreadId;
            }

            AddGlobalEvent(CreateEvent(thread, _globalTimeMilliseconds, EventType.AssignedToOsThread));
        }