Example #1
0
 public CancellationTokenTaskSource(CancellationToken cancellationToken)
 {
     if (!cancellationToken.IsCancellationRequested)
     {
         var tcs = new TaskCompletionSource <TResult>(DefaultTcsCreationOptions);
         _ctr = cancellationToken.Register(() => tcs.TrySetCanceled(), useSynchronizationContext: false);
         Task = tcs.GetTaskSafe();
     }
     else
     {
         _ctr = null;
         Task = FromCanceled <TResult>(cancellationToken);
     }
 }