Add TaskCompletionSource.SetCanceled(CancellationToken) (#32696)
authorFraser Waters <frassle@gmail.com>
Tue, 25 Feb 2020 14:48:29 +0000 (14:48 +0000)
committerGitHub <noreply@github.com>
Tue, 25 Feb 2020 14:48:29 +0000 (09:48 -0500)
commit6de3cd306cd052b1b7c5443a220b5d83a18d8c09
treeefaae8432b75e435907c736eb3a0003ac5c109cb
parente1441aa7f66c2d21b655549bc7dfdde6340a083e
Add TaskCompletionSource.SetCanceled(CancellationToken) (#32696)

* Add TaskCompletionSource.SetCanceled(CancellationToken)

api-approved by #30862

* Add to ref

* SetCanceled(default)

* Change some tests to use SetCaneled not TrySetCanceled

These tests used SetResult/SetException and TrySetCancelled so it could
pass a token. Changed to use SetCancelled to match the Result/Exception
useage.

* Add SetCanceled(CT) test

* Check exception on re-cancel

* Equal not Equals

* Catch aggregate not TaskCancelled directly

*  Inner not exc

* Markup

* s/m/n
src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/TaskCompletionSource.cs
src/libraries/System.Runtime/ref/System.Runtime.cs
src/libraries/System.Threading.Tasks/tests/Task/TaskRtTests_Core.cs
src/libraries/System.Threading.Tasks/tests/UnwrapTests.cs