From ba1ccdec6692d8027bd1c6d41d443550c3c344f9 Mon Sep 17 00:00:00 2001 From: Steven Siloti Date: Sat, 14 Nov 2015 18:30:42 -0800 Subject: [PATCH] fix assert in dht::observer This is was introduced by c2277b3ea50b42fd0461cd7640cafb046f335dd7 "fix traversal_algorithm::done() being invoked more than once". --- src/kademlia/traversal_algorithm.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kademlia/traversal_algorithm.cpp b/src/kademlia/traversal_algorithm.cpp index 196db1283..02cb42a96 100644 --- a/src/kademlia/traversal_algorithm.cpp +++ b/src/kademlia/traversal_algorithm.cpp @@ -380,7 +380,7 @@ void traversal_algorithm::done() , end(m_results.end()); i != end; ++i) { boost::intrusive_ptr o = *i; - if (o->flags & observer::flag_queried) + if ((o->flags & (observer::flag_queried | observer::flag_failed)) == observer::flag_queried) { // set the done flag on any outstanding queries to prevent them from // calling finished() or failed() after we've already declared the traversal