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.
Attachments
For Gerrit Dashboard: NCBC-2095 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
114446,4 | NCBC-2095: Fix build warnings | master | couchbase-net-client | Status: MERGED | +2 | +1 |
114448,2 | NCBC-2095: Use TryXXX when trying to set TCS result or exception | master | couchbase-net-client | Status: MERGED | +2 | +1 |