diff --git a/src/init.cpp b/src/init.cpp index 118700cf6e86..a66c23991157 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -2078,7 +2078,7 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler) if (!fLiteMode) { scheduler.scheduleEvery(boost::bind(&CNetFulfilledRequestManager::DoMaintenance, boost::ref(netfulfilledman)), 60); - scheduler.scheduleEvery(boost::bind(&CMasternodeSync::DoMaintenance, boost::ref(masternodeSync), boost::ref(*g_connman)), MASTERNODE_SYNC_TICK_SECONDS); + scheduler.scheduleEvery(boost::bind(&CMasternodeSync::DoMaintenance, boost::ref(masternodeSync), boost::ref(*g_connman)), 1); scheduler.scheduleEvery(boost::bind(&CMasternodeMan::DoMaintenance, boost::ref(mnodeman), boost::ref(*g_connman)), 1); scheduler.scheduleEvery(boost::bind(&CActiveLegacyMasternodeManager::DoMaintenance, boost::ref(legacyActiveMasternodeManager), boost::ref(*g_connman)), MASTERNODE_MIN_MNP_SECONDS); diff --git a/src/masternode-sync.cpp b/src/masternode-sync.cpp index 5cfa2cc1ee6d..b5cf4dc950fe 100644 --- a/src/masternode-sync.cpp +++ b/src/masternode-sync.cpp @@ -150,6 +150,12 @@ void CMasternodeSync::ProcessTick(CConnman& connman) nTimeLastProcess = GetTime(); return; } + + if(GetTime() - nTimeLastProcess < MASTERNODE_SYNC_TICK_SECONDS) { + // too early, nothing to do here + return; + } + nTimeLastProcess = GetTime(); // reset sync status in case of any other sync failure