Details
-
Bug
-
Resolution: Fixed
-
Major
-
None
-
None
-
1
Description
If a timeout occurs within the SDK, a result is set in the TaskCompletionSource and returned to the app. However, the SDK may still try to set a result using the same completion source and will cause an exception as a TCS can only have one result set.
To mitigate this, we should replace any SetResult / SetException call to the TCS with the TryXXX overload which does not throw an exception and only sets the result if one has not already been set.