Skip to content

Commit

Permalink
Merge pull request #213 from tusooa/tusooa/comment-no-ranged-for
Browse files Browse the repository at this point in the history
Add a comment to explain why ranged-for cannot be used
  • Loading branch information
arximboldi authored Sep 22, 2024
2 parents 93b5962 + d8a9257 commit 338ed6b
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions lager/detail/nodes.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,10 @@ class reader_node : public observable_reader_node<T>
bool garbage = false;

this->observers()(last_);
// We cannot use ranged-for here because children might
// change as a result of notify(). This can invalidate
// the iterators on children, causing undefined behaviors.
// See also https://github.com/arximboldi/lager/pull/212
const auto& children = this->children();
for (size_t i = 0, size = children.size(); i < size; ++i) {
if (auto child = children[i].lock()) {
Expand Down

0 comments on commit 338ed6b

Please sign in to comment.