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

◆ Run()

override void System.Threading.Tasks.SynchronizationContextAwaitTaskContinuation.Run ( Task task,
bool canInlineContinuationTask )
inlinesealedpackage

Definition at line 23 of file SynchronizationContextAwaitTaskContinuation.cs.

24 {
25 if (canInlineContinuationTask && m_syncContext == SynchronizationContext.Current)
26 {
27 RunCallback(AwaitTaskContinuation.GetInvokeActionCallback(), m_action, ref Task.t_currentTask);
28 return;
29 }
30 TplEventSource log = TplEventSource.Log;
31 if (log.IsEnabled())
32 {
33 m_continuationId = Task.NewId();
34 log.AwaitTaskContinuationScheduled((task.ExecutingTaskScheduler ?? TaskScheduler.Default).Id, task.Id, m_continuationId);
35 }
36 RunCallback(GetPostActionCallback(), this, ref Task.t_currentTask);
37 }
static ? SynchronizationContext Current
void RunCallback(ContextCallback callback, object state, ref Task currentTask)
AwaitTaskContinuation(Action action, bool flowExecutionContext)

References System.Threading.Tasks.TplEventSource.AwaitTaskContinuationScheduled(), System.Threading.SynchronizationContext.Current, System.Threading.Tasks.TaskScheduler.Default, System.Threading.Tasks.AwaitTaskContinuation.GetInvokeActionCallback(), System.Threading.Tasks.SynchronizationContextAwaitTaskContinuation.GetPostActionCallback(), System.Diagnostics.Tracing.EventSource.IsEnabled(), System.Threading.Tasks.TplEventSource.Log, System.Threading.Tasks.AwaitTaskContinuation.m_action, System.Threading.Tasks.AwaitTaskContinuation.m_continuationId, System.Threading.Tasks.SynchronizationContextAwaitTaskContinuation.m_syncContext, System.Threading.Tasks.Task< TResult >.NewId(), System.Threading.Tasks.AwaitTaskContinuation.RunCallback(), System.Threading.Tasks.Task< TResult >.t_currentTask, and System.task.