Fix mining deadlock

This commit is contained in:
jl777
2018-07-31 03:56:20 -11:00
parent fb89b4411d
commit 7adbb3e3c1
2 changed files with 4 additions and 4 deletions

View File

@@ -259,18 +259,18 @@ bool ProcessCC(struct CCcontract_info *cp,Eval* eval, std::vector<uint8_t> param
//txid = ctx.GetHash(); //txid = ctx.GetHash();
//if ( txid == cp->prevtxid ) //if ( txid == cp->prevtxid )
// return(true); // return(true);
fprintf(stderr,"process CC %02x\n",cp->evalcode); //fprintf(stderr,"process CC %02x\n",cp->evalcode);
if ( paramsNull.size() != 0 ) // Don't expect params if ( paramsNull.size() != 0 ) // Don't expect params
return eval->Invalid("Cannot have params"); return eval->Invalid("Cannot have params");
else if ( ctx.vout.size() == 0 ) else if ( ctx.vout.size() == 0 )
return eval->Invalid("no-vouts"); return eval->Invalid("no-vouts");
else if ( (*cp->validate)(cp,eval,ctx) != 0 ) else if ( (*cp->validate)(cp,eval,ctx) != 0 )
{ {
fprintf(stderr,"done CC %02x\n",cp->evalcode); //fprintf(stderr,"done CC %02x\n",cp->evalcode);
//cp->prevtxid = txid; //cp->prevtxid = txid;
return(true); return(true);
} }
fprintf(stderr,"invalid CC %02x\n",cp->evalcode); //fprintf(stderr,"invalid CC %02x\n",cp->evalcode);
return(false); return(false);
} }

View File

@@ -1018,7 +1018,7 @@ void static BitcoinMiner()
fprintf(stderr," mined %s block %d!\n",ASSETCHAINS_SYMBOL,Mining_height); fprintf(stderr," mined %s block %d!\n",ASSETCHAINS_SYMBOL,Mining_height);
} }
CValidationState state; CValidationState state;
if ( ASSETCHAINS_CC == 0 && !TestBlockValidity(state,B, chainActive.LastTip(), true, false)) if ( !TestBlockValidity(state,B, chainActive.LastTip(), true, false))
{ {
h = UintToArith256(B.GetHash()); h = UintToArith256(B.GetHash());
for (z=31; z>=0; z--) for (z=31; z>=0; z--)