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.Promisein a data type (LockingPromise) that has amutexon 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