diff --git a/nano/node/active_transactions.cpp b/nano/node/active_transactions.cpp index ce86bbf4..b61acd5e 100644 --- a/nano/node/active_transactions.cpp +++ b/nano/node/active_transactions.cpp @@ -277,6 +277,12 @@ void nano::active_transactions::request_confirm (nano::unique_lock & lock_a.lock (); } } + + // Only representatives ready to receive batched confirm_req + lock_a.unlock (); + solicitor.prepare (node.rep_crawler.representatives (node.network_params.protocol.tcp_realtime_protocol_version_min)); + lock_a.lock (); + auto const now (std::chrono::steady_clock::now ()); // Any new election started from process_live only gets requests after at least 1 second auto cutoff_l (now - election_request_delay); @@ -293,9 +299,6 @@ void nano::active_transactions::request_confirm (nano::unique_lock & auto & sorted_roots_l = roots.get (); size_t count_l{ 0 }; - // Only representatives ready to receive batched confirm_req - solicitor.prepare (node.rep_crawler.representatives (node.network_params.protocol.tcp_realtime_protocol_version_min)); - /* * Loop through active elections in descending order of proof-of-work difficulty, requesting confirmation *