private void ThreadAssignedToOsThreadCallback(ThreadAssignedToOsThread arg) { if (_appPid == 0) { _appPid = arg.OsThreadId; Task.Run(() => { if (!SendCommandToControlProcess($"test {_appPid}")) { SetAsyncError(); } }); } }
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)); }