What\'s the best way to sleep a certain amount of time, but be able to be interrupted by a IsCancellationRequested from a CancellationToken?
I just blogged about it here:
CancellationToken and Thread.Sleep
in Short:
var cancelled = token.WaitHandle.WaitOne(TimeSpan.FromSeconds(5));
In your context:
void MyFunc (CancellationToken ct)
{
//...
// simulate some long lasting operation that should be cancelable
var cancelled = ct.WaitHandle.WaitOne(TimeSpan.FromSeconds(10));
}