Skip to content

Instantly share code, notes, and snippets.

@GeorgeTsiokos
Created September 28, 2018 15:37
Show Gist options
  • Save GeorgeTsiokos/df70b4b84e841693f23fca65a2e3b75b to your computer and use it in GitHub Desktop.
Save GeorgeTsiokos/df70b4b84e841693f23fca65a2e3b75b to your computer and use it in GitHub Desktop.
New CancellationToken w/timeout
public static CancellationToken Timeout(this CancellationToken cancellationToken, TimeSpan timeout)
{
if (!cancellationToken.CanBeCanceled)
return new CancellationTokenSource(timeout).Token;
var cancellationTokenSource = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken);
cancellationTokenSource.CancelAfter(timeout);
return cancellationTokenSource.Token;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment