From a054d893c23966bcc618471079febbdb5ff3a372 Mon Sep 17 00:00:00 2001 From: clemahieu Date: Thu, 7 Dec 2017 22:16:50 -0600 Subject: [PATCH] Processing front to back of the deque to avoid reversing it. --- rai/node/node.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/rai/node/node.cpp b/rai/node/node.cpp index cf11ade4..62b41630 100755 --- a/rai/node/node.cpp +++ b/rai/node/node.cpp @@ -1105,7 +1105,6 @@ void rai::block_processor::process_blocks () std::deque , std::function )>>> blocks_processing; std::swap (blocks, blocks_processing); lock.unlock (); - std::reverse (blocks_processing.begin (), blocks_processing.end ()); process_receive_many (blocks_processing); // Let other threads get an opportunity to transaction lock std::this_thread::yield (); @@ -1138,8 +1137,8 @@ void rai::block_processor::process_receive_many (std::deque hash ()); auto process_result (process_receive_one (transaction, item.first)); item.second (transaction, process_result, item.first); @@ -1155,7 +1154,7 @@ void rai::block_processor::process_receive_many (std::deque ) {})); + blocks_processing.push_front (std::make_pair (*i, [] (MDB_txn *, rai::process_return, std::shared_ptr ) {})); } std::lock_guard lock (node.gap_cache.mutex); node.gap_cache.blocks.get <1> ().erase (hash);