Overflows are expected by design, but we should not allow the value to become
negative.
const int searchLimit = min(10000, entryLimit());
int tries = 0;
for (; tries < searchLimit; ++tries) {
- const sfileno fileno = shared->victim++ % shared->limit;
+ const sfileno fileno = static_cast<sfileno>(++shared->victim % shared->limit);
assert(valid(fileno));
Anchor &s = shared->slots[fileno].anchor;
if (s.lock.lockExclusive()) {
const int limit; ///< maximum number of store entries
const size_t extrasSize; ///< size of slice extra data
Atomic::Word count; ///< current number of entries
- Atomic::WordT<sfileno> victim; ///< starting point for purge search
+ Atomic::WordT<uint32_t> victim; ///< starting point for purge search
Ipc::Mem::FlexibleArray<StoreMapSlot> slots; ///< storage
};