Skip to content

BlockingPut and BlockingGet Fixes

Chris Woodall requested to merge feature/blocking-put-fix into devel

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:

  1. I wrapped RSG.Promise in a data type (LockingPromise) that has a mutex on critical pieces which have race conditions.
  2. I added a FinalizingAction() which allows you to define an action which is only done after the Done() 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

Merge request reports