Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix a race in indy global var caching
The logic here acquires the Invalidator from the variable and uses that to guard the cached value. However, if this is a SwitchPoint invalidator (assumed by the code) then it replaces the SwitchPoint with a new one after invalidation. If we do not grab the actual SwitchPoint before the value, we may end up associating the current value with a newer SwitchPoint and never see the subsequent update. This is likely the main cause of intermittent global variable failures with indy global caching turned on.
- Loading branch information