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

◆ GetTaskForValueTaskSource() [2/2]

Task< TResult > System.Threading.Tasks.ValueTask< TResult >.GetTaskForValueTaskSource ( IValueTaskSource< TResult > t)
inlineprivate

Definition at line 581 of file ValueTask.cs.

582 {
584 if (status != 0)
585 {
586 try
587 {
588 return Task.FromResult(t.GetResult(_token));
589 }
590 catch (Exception ex)
591 {
592 if (status == ValueTaskSourceStatus.Canceled)
593 {
594 if (ex is OperationCanceledException ex2)
595 {
597 task.TrySetCanceled(ex2.CancellationToken, ex2);
598 return task;
599 }
600 return s_canceledTask ?? (s_canceledTask = Task.FromCanceled<TResult>(new CancellationToken(canceled: true)));
601 }
602 return Task.FromException<TResult>(ex);
603 }
604 }
605 return new ValueTaskSourceAsTask(t, _token);
606 }
ValueTaskSourceStatus GetStatus(short token)
static volatile Task s_canceledTask
Definition ValueTask.cs:63

References System.Threading.Tasks.ValueTask< TResult >._token, System.Threading.Tasks.Task< TResult >.FromCanceled(), System.Threading.Tasks.Task< TResult >.FromException(), System.Threading.Tasks.ValueTask< TResult >.s_canceledTask, and System.task.