private static async Task <TResult> DoWaitAsync <TResult>(Task <TResult> task, CancellationToken cancellationToken) { using var cancelTaskSource = new CancellationTokenTaskSource <TResult>(cancellationToken); return(await(await Task.WhenAny(task, cancelTaskSource.Task).ContextFree()).ContextFree()); }
private static async Task DoWaitAsync(Task task, CancellationToken cancellationToken) { using var cancelTaskSource = new CancellationTokenTaskSource <object>(cancellationToken); await(await Task.WhenAny(task, cancelTaskSource.Task).ContextFree()).ContextFree(); }