Fix utils::SkipList iterator bug
Reviewers: mtomic Reviewed By: mtomic Subscribers: pullbot Differential Revision: https://phabricator.memgraph.io/D2119
This commit is contained in:
parent
9cc2224ac3
commit
8194fbd6f7
@ -479,9 +479,10 @@ class SkipList final {
|
|||||||
|
|
||||||
Iterator &operator++() {
|
Iterator &operator++() {
|
||||||
while (true) {
|
while (true) {
|
||||||
TNode *next = node_->nexts[0].load(std::memory_order_relaxed);
|
node_ = node_->nexts[0].load(std::memory_order_relaxed);
|
||||||
if (next == nullptr || !next->marked.load(std::memory_order_relaxed)) {
|
if (node_ != nullptr && node_->marked.load(std::memory_order_relaxed)) {
|
||||||
node_ = next;
|
continue;
|
||||||
|
} else {
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user