From 992db5b00a0d9b6dbba5fbc53aed4d5e7fac329a Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 20 Aug 2016 23:19:27 -0300 Subject: [PATCH] test --- iguana/iguana_msg.c | 5 +++-- iguana/iguana_recv.c | 5 +++-- includes/iguana_funcs.h | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/iguana/iguana_msg.c b/iguana/iguana_msg.c index c60a1fb52..bb66a7663 100755 --- a/iguana/iguana_msg.c +++ b/iguana/iguana_msg.c @@ -960,8 +960,9 @@ int32_t iguana_msgparser(struct iguana_info *coin,struct iguana_peer *addr,struc } free(coinbase_branch); free(blockchain_branch); - iguana_gotheadersM(coin,addr,zblocks,n); - //myfree(blocks,sizeof(*blocks) * n); + if ( iguana_gotheadersM(coin,addr,zblocks,n) < 0 ) + myfree(zblocks,(int32_t)(sizeof(struct iguana_zblock) * n)); + //myfree(blocks,sizeof(*blocks) * n); if ( len == recvlen && addr != 0 ) addr->msgcounts.headers++; } else printf("got unexpected n.%d for headers\n",n); diff --git a/iguana/iguana_recv.c b/iguana/iguana_recv.c index ac620023e..ef97bea44 100755 --- a/iguana/iguana_recv.c +++ b/iguana/iguana_recv.c @@ -550,7 +550,7 @@ void iguana_gottxidsM(struct iguana_info *coin,struct iguana_peer *addr,bits256 queue_enqueue("recvQ",&coin->recvQ,&req->DL,0); } -void iguana_gotheadersM(struct iguana_info *coin,struct iguana_peer *addr,struct iguana_zblock *zblocks,int32_t n) +int32_t iguana_gotheadersM(struct iguana_info *coin,struct iguana_peer *addr,struct iguana_zblock *zblocks,int32_t n) { struct iguana_bundlereq *req; int32_t i,num; if ( addr != 0 ) @@ -581,6 +581,7 @@ void iguana_gotheadersM(struct iguana_info *coin,struct iguana_peer *addr,struct req->blocks = zblocks, req->n = n; HDRnet++; queue_enqueue("recvQ",&coin->recvQ,&req->DL,0); + return(0); } void iguana_gotblockhashesM(struct iguana_info *coin,struct iguana_peer *addr,bits256 *blockhashes,int32_t n) @@ -1855,7 +1856,7 @@ int32_t iguana_processrecv(struct supernet_info *myinfo,struct iguana_info *coin } flag += iguana_processrecvQ(myinfo,coin,&newhwm); flag += iguana_reqblocks(myinfo,coin); - if ( time(NULL) > coin->laststats+5 ) + if ( time(NULL) > coin->laststats+15 ) { flag += iguana_reqhdrs(coin); iguana_bundlestats(myinfo,coin,str,IGUANA_DEFAULTLAG); diff --git a/includes/iguana_funcs.h b/includes/iguana_funcs.h index 964e9e22a..a92dec2bf 100755 --- a/includes/iguana_funcs.h +++ b/includes/iguana_funcs.h @@ -113,7 +113,7 @@ int32_t iguana_savehdrs(struct iguana_info *coin); struct iguana_bundle *iguana_bundlecreate(struct iguana_info *coin,int32_t *bundleip,int32_t bundleheight,bits256 bundlehash2,bits256 allhash,int32_t issueflag); struct iguana_block *iguana_updatehdrs(struct iguana_info *coin,int32_t *newhwmp,struct iguana_block *block,bits256 prevhash2,bits256 hash2); void iguana_parseline(struct supernet_info *myinfo,struct iguana_info *coin,int32_t iter,FILE *fp); -void iguana_gotheadersM(struct iguana_info *coin,struct iguana_peer *addr,struct iguana_zblock *zblocks,int32_t n); +int32_t iguana_gotheadersM(struct iguana_info *coin,struct iguana_peer *addr,struct iguana_zblock *zblocks,int32_t n); void iguana_emittxdata(struct iguana_info *coin,struct iguana_bundle *bp); int32_t iguana_pollQsPT(struct iguana_info *coin,struct iguana_peer *addr); int32_t iguana_avail(struct iguana_info *coin,int32_t height,int32_t n);