Summary: IndexedMemPool had one bare usage of std::atomic, rather than
the templated type Atom. This doesn't affect any non-testing template
instantiations, because those two are usually synonyms, but it could cause
spurious failures of DeterministicSchedule tests. Found via inspection,
not via failed tests.
Reviewed By: @yfeldblum
Differential Revision:
D2277424
/// To allow use of atomic ++ instead of CAS, we let this overflow.
/// The actual number of constructed elements is min(actualCapacity_,
/// size_)
- std::atomic<uint32_t> size_;
+ Atom<uint32_t> size_;
/// raw storage, only 1..min(size_,actualCapacity_) (inclusive) are
/// actually constructed. Note that slots_[0] is not constructed or used