namespace System.Runtime.CompilerServices
{
- public struct TaskAwaiter<TResult>
+ public struct TaskAwaiter<TResult> : ICriticalNotifyCompletion
{
readonly Task<TResult> task;
if (continuation == null)
throw new ArgumentNullException ("continuation");
- TaskAwaiter.HandleOnCompleted (task, continuation, true);
+ TaskAwaiter.HandleOnCompleted (task, continuation, true, true);
+ }
+
+ public void UnsafeOnCompleted (Action continuation)
+ {
+ if (continuation == null)
+ throw new ArgumentNullException ("continuation");
+
+ TaskAwaiter.HandleOnCompleted (task, continuation, true, false);
}
}
}