More testing for header transfers
This commit is contained in:
@@ -4138,7 +4138,7 @@ bool AcceptBlock(int32_t *futureblockp,CBlock& block, CValidationState& state, C
|
|||||||
AssertLockHeld(cs_main);
|
AssertLockHeld(cs_main);
|
||||||
|
|
||||||
CBlockIndex *&pindex = *ppindex;
|
CBlockIndex *&pindex = *ppindex;
|
||||||
if (!AcceptBlockHeader(futureblockp,block, state, &pindex))
|
if (!AcceptBlockHeader(futureblockp, block, state, &pindex))
|
||||||
{
|
{
|
||||||
if ( *futureblockp == 0 )
|
if ( *futureblockp == 0 )
|
||||||
{
|
{
|
||||||
@@ -4342,7 +4342,7 @@ bool ProcessNewBlock(bool from_miner,int32_t height,CValidationState &state, CNo
|
|||||||
if ( 1 )
|
if ( 1 )
|
||||||
{
|
{
|
||||||
// without the komodo_ensure call, it is quite possible to get a non-error but null pindex returned from AcceptBlockHeader. In a 2 node network, it will be a long time before that block is reprocessed. Even though restarting makes it rescan, it seems much better to keep the nodes in sync
|
// without the komodo_ensure call, it is quite possible to get a non-error but null pindex returned from AcceptBlockHeader. In a 2 node network, it will be a long time before that block is reprocessed. Even though restarting makes it rescan, it seems much better to keep the nodes in sync
|
||||||
komodo_ensure(pblock,hash);
|
komodo_ensure(pblock, hash);
|
||||||
}
|
}
|
||||||
bool ret = AcceptBlock(&futureblock,*pblock, state, &pindex, fRequested, dbp);
|
bool ret = AcceptBlock(&futureblock,*pblock, state, &pindex, fRequested, dbp);
|
||||||
if (pindex && pfrom) {
|
if (pindex && pfrom) {
|
||||||
|
|||||||
@@ -830,14 +830,24 @@ void static VerusStaker(CWallet *pwallet)
|
|||||||
waitForPeers(chainparams);
|
waitForPeers(chainparams);
|
||||||
// try a nice clean peer connection to start
|
// try a nice clean peer connection to start
|
||||||
waitForPeers(chainparams);
|
waitForPeers(chainparams);
|
||||||
CBlockIndex* pindexPrev;
|
CBlockIndex* pindexPrev, *pindexCur;
|
||||||
do {
|
do {
|
||||||
pindexPrev = chainActive.Tip();
|
{
|
||||||
|
LOCK(cs_main);
|
||||||
|
pindexPrev = chainActive.Tip();
|
||||||
|
}
|
||||||
MilliSleep(5000 + rand() % 5000);
|
MilliSleep(5000 + rand() % 5000);
|
||||||
} while (pindexPrev != chainActive.Tip());
|
{
|
||||||
|
LOCK(cs_main);
|
||||||
|
pindexCur = chainActive.Tip();
|
||||||
|
}
|
||||||
|
} while (pindexPrev != pindexCur);
|
||||||
|
|
||||||
sleep(5);
|
sleep(5);
|
||||||
printf("Staking height %d for %s\n", chainActive.Tip()->nHeight + 1, ASSETCHAINS_SYMBOL);
|
|
||||||
|
{
|
||||||
|
printf("Staking height %d for %s\n", chainActive.Tip()->nHeight + 1, ASSETCHAINS_SYMBOL);
|
||||||
|
}
|
||||||
//fprintf(stderr,"Staking height %d for %s\n", chainActive.Tip()->nHeight + 1, ASSETCHAINS_SYMBOL);
|
//fprintf(stderr,"Staking height %d for %s\n", chainActive.Tip()->nHeight + 1, ASSETCHAINS_SYMBOL);
|
||||||
|
|
||||||
miningTimer.start();
|
miningTimer.start();
|
||||||
@@ -1005,11 +1015,18 @@ void static BitcoinMiner_noeq()
|
|||||||
|
|
||||||
// try a nice clean peer connection to start
|
// try a nice clean peer connection to start
|
||||||
waitForPeers(chainparams);
|
waitForPeers(chainparams);
|
||||||
CBlockIndex* pindexPrev;
|
CBlockIndex *pindexPrev, *pindexCur;
|
||||||
do {
|
do {
|
||||||
pindexPrev = chainActive.Tip();
|
{
|
||||||
|
LOCK(cs_main);
|
||||||
|
pindexPrev = chainActive.Tip();
|
||||||
|
}
|
||||||
MilliSleep(5000 + rand() % 5000);
|
MilliSleep(5000 + rand() % 5000);
|
||||||
} while (pindexPrev != chainActive.Tip());
|
{
|
||||||
|
LOCK(cs_main);
|
||||||
|
pindexCur = chainActive.Tip();
|
||||||
|
}
|
||||||
|
} while (pindexPrev != pindexCur);
|
||||||
|
|
||||||
printf("Mining height %d\n", chainActive.Tip()->nHeight + 1);
|
printf("Mining height %d\n", chainActive.Tip()->nHeight + 1);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user