Unverified Commit d29b70ae authored by Chen Xin's avatar Chen Xin Committed by GitHub
Browse files

Return the iterator after erasing it from a map (#864)

parent 60d03021
...@@ -61,7 +61,7 @@ bool SequenceManager::Contains(uint64_t id) ...@@ -61,7 +61,7 @@ bool SequenceManager::Contains(uint64_t id)
return sequences_.find(id) != sequences_.end(); return sequences_.find(id) != sequences_.end();
} }
void SequenceManager::Erase(std::map<uint64_t, Sequence>::iterator it) void SequenceManager::Erase(std::map<uint64_t, Sequence>::iterator& it)
{ {
auto& seq = it->second; auto& seq = it->second;
if (seq.status == Sequence::kCached) { if (seq.status == Sequence::kCached) {
...@@ -72,7 +72,7 @@ void SequenceManager::Erase(std::map<uint64_t, Sequence>::iterator it) ...@@ -72,7 +72,7 @@ void SequenceManager::Erase(std::map<uint64_t, Sequence>::iterator it)
UpdateAndSetUnlock(seq); UpdateAndSetUnlock(seq);
} }
freed_.insert(freed_.end(), seq.blocks.begin(), seq.blocks.end()); freed_.insert(freed_.end(), seq.blocks.begin(), seq.blocks.end());
sequences_.erase(it); it = sequences_.erase(it);
} }
bool SequenceManager::Erase(uint64_t id) bool SequenceManager::Erase(uint64_t id)
......
...@@ -107,7 +107,7 @@ public: ...@@ -107,7 +107,7 @@ public:
} }
private: private:
void Erase(std::map<uint64_t, Sequence>::iterator it); void Erase(std::map<uint64_t, Sequence>::iterator& it);
void CommitUnlockAndFree(); void CommitUnlockAndFree();
......
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