BlockingPut and BlockingGet Fixes
Description
Fixed issues where BlockingPut (and really all confirming AsyncPuts) had an inherent race condition.
What was happening is sometimes a race condition was occuring since the RSG.Promises are NOT thread-safe. To fix this I did 2 things:
- I wrapped
RSG.Promise
in a data type (LockingPromise
) that has amutex
on critical pieces which have race conditions. - I added a
FinalizingAction()
which allows you to define an action which is only done after theDone()
condition is defined (the chain of promises has been fully created).
What to focus on
- put content here.
Reviewers
Resources
Issues
What issues does this fix?
- Fixes #151
- Fixes #132
Edited by Chris Woodall