have FreeMemoryLazyFree increment dict refcount so it doesn't try to use a dict that has already been released (#199)

This commit is contained in:
Malavan Sotheeswaran 2023-06-21 16:47:12 -04:00 committed by GitHub Enterprise
parent 8242ba5b47
commit 2adf93ba0e

View File

@ -483,6 +483,7 @@ public:
for (auto de : pair.second) {
dictFreeUnlinkedEntry(pair.first, de);
}
dictRelease(pair.first);
}
aeReleaseLock();
--s_clazyFreesInProgress;
@ -513,6 +514,7 @@ public:
);
if (itr == vecdictvecde.end() || itr->first != d) {
itr = vecdictvecde.insert(itr, std::make_pair(d, std::vector<dictEntry*>()));
__atomic_fetch_add(&d->refcount, 1, __ATOMIC_ACQ_REL);
}
serverAssert(itr->first == d);
itr->second.push_back(de);