Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ ActivityChanging()

void System.Diagnostics.Tracing.ActivityTracker.ActivityChanging ( AsyncLocalValueChangedArgs< ActivityInfo > args)
inlineprivate

Definition at line 373 of file ActivityTracker.cs.

374 {
375 ActivityInfo activityInfo = args.CurrentValue;
376 ActivityInfo previousValue = args.PreviousValue;
377 if (previousValue != null && previousValue.m_creator == activityInfo && (activityInfo == null || previousValue.m_activityIdToRestore != activityInfo.ActivityId))
378 {
379 EventSource.SetCurrentThreadActivityId(previousValue.m_activityIdToRestore);
380 return;
381 }
382 while (activityInfo != null)
383 {
384 if (activityInfo.m_stopped == 0)
385 {
386 EventSource.SetCurrentThreadActivityId(activityInfo.ActivityId);
387 return;
388 }
389 activityInfo = activityInfo.m_creator;
390 }
391 EventSource.SetCurrentThreadActivityId(Guid.Empty);
392 }

References System.Diagnostics.Tracing.ActivityTracker.ActivityInfo.ActivityId, System.Threading.AsyncLocalValueChangedArgs< T >.CurrentValue, System.Guid.Empty, System.Diagnostics.Tracing.ActivityTracker.ActivityInfo.m_activityIdToRestore, System.Diagnostics.Tracing.ActivityTracker.ActivityInfo.m_creator, System.Diagnostics.Tracing.ActivityTracker.ActivityInfo.m_stopped, System.Threading.AsyncLocalValueChangedArgs< T >.PreviousValue, and System.Diagnostics.Tracing.EventSource.SetCurrentThreadActivityId().

Referenced by System.Diagnostics.Tracing.ActivityTracker.Enable().