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

◆ OutputWaitEtwEvents()

static Action System.Runtime.CompilerServices.TaskAwaiter< TResult >.OutputWaitEtwEvents ( Task task,
Action continuation )
inlinestaticprivate

Definition at line 106 of file TaskAwaiter.cs.

107 {
109 {
111 }
113 if (log.IsEnabled())
114 {
116 Task task2 = AsyncMethodBuilderCore.TryGetContinuationTask(continuation);
117 log.TaskWaitBegin(internalCurrent?.m_taskScheduler.Id ?? TaskScheduler.Default.Id, internalCurrent?.Id ?? 0, task.Id, TplEventSource.TaskWaitBehavior.Asynchronous, task2?.Id ?? 0);
118 }
119 return AsyncMethodBuilderCore.CreateContinuationWrapper(continuation, delegate(Action innerContinuation, Task innerTask)
120 {
122 {
123 Task.RemoveFromActiveTasks(innerTask);
124 }
127 bool flag = log2.IsEnabled();
128 if (flag)
129 {
131 log2.TaskWaitEnd(internalCurrent2?.m_taskScheduler.Id ?? TaskScheduler.Default.Id, internalCurrent2?.Id ?? 0, innerTask.Id);
132 if (log2.TasksSetActivityIds && (innerTask.Options & (TaskCreationOptions)1024) != 0)
133 {
135 }
136 }
138 if (flag)
139 {
140 log2.TaskWaitContinuationComplete(innerTask.Id);
141 if (log2.TasksSetActivityIds && (innerTask.Options & (TaskCreationOptions)1024) != 0)
142 {
144 }
145 }
146 }, task);
147 }
static void SetCurrentThreadActivityId(Guid activityId)
static bool s_asyncDebuggingEnabled
Definition Task.cs:960
static ? Task InternalCurrent
Definition Task.cs:1011
static bool AddToActiveTasks(Task task)
Definition Task.cs:1186
static readonly TplEventSource Log
static Guid CreateGuidForTaskID(int taskID)

References System.Threading.Tasks.Task< TResult >.AddToActiveTasks(), System.Runtime.CompilerServices.AsyncMethodBuilderCore.CreateContinuationWrapper(), System.Threading.Tasks.TplEventSource.CreateGuidForTaskID(), System.Threading.Tasks.TaskScheduler.Default, System.Threading.Tasks.Task< TResult >.InternalCurrent, System.Threading.Tasks.TplEventSource.Log, System.Threading.Tasks.Task< TResult >.s_asyncDebuggingEnabled, System.Diagnostics.Tracing.EventSource.SetCurrentThreadActivityId(), System.task, and System.Runtime.CompilerServices.AsyncMethodBuilderCore.TryGetContinuationTask().

Referenced by System.Runtime.CompilerServices.TaskAwaiter< TResult >.OnCompletedInternal(), and System.Runtime.CompilerServices.TaskAwaiter< TResult >.UnsafeOnCompletedInternal().