diff --git a/silkworm/sentry/discovery/disc_v4/find/lookup.cpp b/silkworm/sentry/discovery/disc_v4/find/lookup.cpp index 32b78bda45..257d8e8102 100644 --- a/silkworm/sentry/discovery/disc_v4/find/lookup.cpp +++ b/silkworm/sentry/discovery/disc_v4/find/lookup.cpp @@ -48,7 +48,7 @@ Task lookup( auto node_ids = co_await db.take_lookup_candidates(query, now); size_t total_neighbors = 0; - auto group_task = concurrency::generate_parallel_group_task(node_ids.size(), [&](size_t index) -> Task { + auto group_task_factory = [&](size_t index) -> Task { auto node_id = node_ids[index]; try { total_neighbors += co_await find_neighbors(node_id, local_node_id, message_sender, on_neighbors_signal, db); @@ -59,7 +59,8 @@ Task lookup( } catch (const std::exception& ex) { log::Error("sentry") << "disc_v4::find::lookup find_neighbors node_id=" << node_id.hex() << " exception: " << ex.what(); } - }); + }; + auto group_task = concurrency::generate_parallel_group_task(node_ids.size(), group_task_factory); try { co_await (std::move(group_task) || concurrency::timeout(1s));