From c0c9c0ae1c5d5408334fcd6331e583b8c97aeca8 Mon Sep 17 00:00:00 2001 From: Alexander Blair Date: Sun, 12 Feb 2017 00:12:43 -0800 Subject: [PATCH] Adding a check for sanity to the blockManager task. --- lib/blockManager.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/blockManager.js b/lib/blockManager.js index 54f7a30..d702bef 100644 --- a/lib/blockManager.js +++ b/lib/blockManager.js @@ -14,6 +14,7 @@ let scanInProgress = false; let blockHexCache = {}; let lastBlock = 0; let balanceIDCache = {}; +let blockScannerTask; let blockQueue = async.queue(function (task, callback) { global.support.rpcDaemon('getblockheaderbyheight', {"height": task.blockID}, function (body) { let blockData = body.result.block_header; @@ -40,6 +41,9 @@ let blockQueue = async.queue(function (task, callback) { blockQueue.drain = function () { console.log("Scan complete, unlocking remainder of blockManager functionality."); scanInProgress = false; + if (typeof(blockScannerTask) === 'undefined'){ + blockScannerTask = setInterval(blockScanner, 1000); + } }; let createBalanceQueue = async.queue(function (task, callback) { @@ -475,6 +479,7 @@ function blockScanner() { if (inc_check === 0) { debug("No new work to be performed, initial scan complete"); scanInProgress = false; + blockScannerTask = setInterval(blockScanner, 1000); } }); } @@ -490,7 +495,7 @@ function initial_sync() { }); }).then(function () { // Enable block scanning for 1 seconds to update the block log. - setInterval(blockScanner, 1000); + blockScanner(); // Scan every 120 seconds for invalidated blocks setInterval(blockInvalidator, 120000); setInterval(blockUnlocker, 120000);