Browse Source

Merge branch 'release/v0.1'

dPoW2
jl777 8 years ago
parent
commit
a6552f4f25
  1. 12
      iguana/iguana_ramchain.c

12
iguana/iguana_ramchain.c

@ -341,9 +341,9 @@ uint32_t iguana_ramchain_addunspent20(struct iguana_info *coin,struct iguana_pee
printf("error writing vout scriptlen.%d errno.%d or scriptpos.%lld != %u\n",scriptlen,errno,(long long)scriptpos,u->scriptpos); printf("error writing vout scriptlen.%d errno.%d or scriptpos.%lld != %u\n",scriptlen,errno,(long long)scriptpos,u->scriptpos);
else else
{ {
fflush(addr->voutsfp);
if ( coin->chain->fixit != 0 ) if ( coin->chain->fixit != 0 )
{ {
fflush(addr->voutsfp);
usleep(1000); usleep(1000);
} }
addr->dirty[0]++; addr->dirty[0]++;
@ -568,9 +568,9 @@ uint32_t iguana_ramchain_addspend256(struct iguana_info *coin,struct iguana_peer
else else
{ {
addr->dirty[1]++; addr->dirty[1]++;
fflush(addr->vinsfp);
if ( coin->chain->fixit != 0 ) if ( coin->chain->fixit != 0 )
{ {
fflush(addr->vinsfp);
usleep(1000); usleep(1000);
} }
} }
@ -1286,7 +1286,6 @@ int32_t iguana_bundleremove(struct iguana_info *coin,int32_t hdrsi,int32_t tmpfi
for (i=0; i<bp->n; i++) for (i=0; i<bp->n; i++)
iguana_blockunmark(coin,bp->blocks[i],bp,i,1); iguana_blockunmark(coin,bp->blocks[i],bp,i,1);
} }
iguana_ramchain_free(coin,&bp->ramchain,1);
if ( iguana_bundlefname(coin,bp,fname) == 0 ) if ( iguana_bundlefname(coin,bp,fname) == 0 )
OS_removefile(fname,0); OS_removefile(fname,0);
sprintf(fname,"%s/%s/spends/%s.%d",GLOBAL_DBDIR,coin->symbol,bits256_str(str,bp->hashes[0]),bp->bundleheight), OS_removefile(fname,0); sprintf(fname,"%s/%s/spends/%s.%d",GLOBAL_DBDIR,coin->symbol,bits256_str(str,bp->hashes[0]),bp->bundleheight), OS_removefile(fname,0);
@ -1294,6 +1293,7 @@ int32_t iguana_bundleremove(struct iguana_info *coin,int32_t hdrsi,int32_t tmpfi
sprintf(fname,"%s/%s/accounts/lastspends.%d",GLOBAL_DBDIR,coin->symbol,bp->bundleheight), OS_removefile(fname,0); sprintf(fname,"%s/%s/accounts/lastspends.%d",GLOBAL_DBDIR,coin->symbol,bp->bundleheight), OS_removefile(fname,0);
sprintf(fname,"%s/%s/validated/%d",GLOBAL_DBDIR,coin->symbol,bp->bundleheight), OS_removefile(fname,0); sprintf(fname,"%s/%s/validated/%d",GLOBAL_DBDIR,coin->symbol,bp->bundleheight), OS_removefile(fname,0);
bp->utxofinish = bp->startutxo = bp->balancefinish = bp->validated = bp->emitfinish = bp->converted = 0; bp->utxofinish = bp->startutxo = bp->balancefinish = bp->validated = bp->emitfinish = bp->converted = 0;
//iguana_ramchain_free(coin,&bp->ramchain,1);
return(0); return(0);
} }
return(-1); return(-1);
@ -1902,9 +1902,9 @@ long iguana_ramchain_data(struct iguana_info *coin,struct iguana_peer *addr,stru
//char str[65]; printf("saved.%s [%d:%d] fpos.%d datalen.%d\n",bits256_str(str,block->RO.hash2),bp->hdrsi,bundlei,fpos,origtxdata->datalen); //char str[65]; printf("saved.%s [%d:%d] fpos.%d datalen.%d\n",bits256_str(str,block->RO.hash2),bp->hdrsi,bundlei,fpos,origtxdata->datalen);
ramchain->H.ROflag = 0; ramchain->H.ROflag = 0;
flag = 1; flag = 1;
if ( addr->dirty[0] != 0 && addr->voutsfp != 0 ) // if ( addr->dirty[0] != 0 && addr->voutsfp != 0 )
fflush(addr->voutsfp); fflush(addr->voutsfp);
if ( addr->dirty[1] != 0 && addr->vinsfp != 0 ) //addr->dirty[1] != 0 && if ( addr->dirty[1] != 0 && addr->vinsfp != 0 )
fflush(addr->vinsfp); fflush(addr->vinsfp);
memset(&R,0,sizeof(R)); memset(&R,0,sizeof(R));
if ( verifyflag != 0 && (mapchain= iguana_ramchain_map(coin,fname,0,1,&R,0,(uint32_t)addr->ipbits,block->RO.hash2,block->RO.prev_block,bundlei,fpos,1,0)) == 0 ) if ( verifyflag != 0 && (mapchain= iguana_ramchain_map(coin,fname,0,1,&R,0,(uint32_t)addr->ipbits,block->RO.hash2,block->RO.prev_block,bundlei,fpos,1,0)) == 0 )
@ -2013,7 +2013,7 @@ void iguana_blockunmark(struct iguana_info *coin,struct iguana_block *block,stru
} }
if ( deletefile != 0 && block != 0 ) if ( deletefile != 0 && block != 0 )
iguana_blockdelete(coin,block->RO.hash2,i); iguana_blockdelete(coin,block->RO.hash2,i);
if ( height > 0 && height < coin->blocks.hwmchain.height ) if ( coin->RTheight > 0 && height > 0 && height < coin->blocks.hwmchain.height )
{ {
printf("reduce HWM height from %d to %d\n",coin->blocks.hwmchain.height,height); printf("reduce HWM height from %d to %d\n",coin->blocks.hwmchain.height,height);
if ( (block= iguana_blockfind("unmark",coin,iguana_blockhash(coin,height))) != 0 ) if ( (block= iguana_blockfind("unmark",coin,iguana_blockhash(coin,height))) != 0 )

Loading…
Cancel
Save