missing fences in CkLoop implementation
Reported by Sameer Kumar, CkLoop reportFinished() needs a write fence to guarantee that results are visible to the thread that made a sync call to CkLoop (i.e., is waiting for results). Also missing read fence in isFree(). waitLoopDone seems OK because of the locks.
#1 Updated by Phil Miller 3 months ago
- Target version changed from 6.8.0 to 6.9.0
The group discussed this in core at some point. The code is apparently fine on x86 with its strict memory ordering semantics. Post 6.8, we'll switch to using native C++11 atomics to portably address these issues in full.