Commit b5750c50 authored by Yanbo Xu's avatar Yanbo Xu Committed by Facebook Github Bot

Revert D6579707: [folly/ConcurrentHashMap] Fix erase in Iterate

Summary:
This reverts commit a45f47a53e106d22daa9cf57be6c40c4f6a430d9

bypass-lint

Differential Revision: D6579707

fbshipit-source-id: 6f6c35de5e05f8cf37491471e1ae1272290fe61b
parent 7a45c3e0
...@@ -421,9 +421,7 @@ class ConcurrentHashMap { ...@@ -421,9 +421,7 @@ class ConcurrentHashMap {
} }
ConstIterator(const ConcurrentHashMap* parent, uint64_t segment) ConstIterator(const ConcurrentHashMap* parent, uint64_t segment)
: it_(parent->ensureSegment(segment)->cbegin()), : segment_(segment), parent_(parent) {}
segment_(segment),
parent_(parent) {}
private: private:
// cbegin iterator // cbegin iterator
......
...@@ -257,24 +257,6 @@ TEST(ConcurrentHashMap, EraseTest) { ...@@ -257,24 +257,6 @@ TEST(ConcurrentHashMap, EraseTest) {
foomap.erase(f1); foomap.erase(f1);
} }
TEST(ConcurrentHashMap, EraseInIterateTest) {
ConcurrentHashMap<uint64_t, uint64_t> foomap(3);
for (uint64_t k = 0; k < 10; ++k) {
foomap.insert(k, k);
}
for (auto it = foomap.cbegin(); it != foomap.cend();) {
if (it->second > 3) {
it = foomap.erase(it);
} else {
++it;
}
}
EXPECT_EQ(4, foomap.size());
for (auto it = foomap.cbegin(); it != foomap.cend(); ++it) {
EXPECT_GE(3, it->second);
}
}
// TODO: hazptrs must support DeterministicSchedule // TODO: hazptrs must support DeterministicSchedule
#define Atom std::atomic // DeterministicAtomic #define Atom std::atomic // DeterministicAtomic
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment