From: Forrest Voight Date: Tue, 6 Mar 2012 18:36:34 +0000 (-0500) Subject: made submit_block retry getmemorypool block submit if it doesn't return the expected... X-Git-Tag: 0.10.0~66 X-Git-Url: https://git.novaco.in/?p=p2pool.git;a=commitdiff_plain;h=16d28b6ab39664dd60f9a712b3e9741da0d9ca50 made submit_block retry getmemorypool block submit if it doesn't return the expected result --- diff --git a/p2pool/main.py b/p2pool/main.py index 1c15600..36705e5 100644 --- a/p2pool/main.py +++ b/p2pool/main.py @@ -296,8 +296,14 @@ def main(args, net, datadir_path, merged_urls, worker_endpoint): print 'Sending %i shares to %s:%i' % (len(shares), peer.addr[0], peer.addr[1]) peer.sendShares(shares) - - submit_block = deferral.retry('Error submitting primary block: (will retry)', 10, 10)(lambda block: bitcoind.rpc_getmemorypool(bitcoin_data.block_type.pack(block).encode('hex'))) + @deferral.retry('Error submitting block: (will retry)', 10, 10) + @defer.inlineCallbacks + def submit_block(block): + result = yield bitcoind.rpc_getmemorypool(bitcoin_data.block_type.pack(block).encode('hex')) + expected_result = net.PARENT.POW_FUNC(bitcoin_data.block_header_type.pack(block['header'])) <= block['header']['bits'].target + if result != expected_result: + print >>sys.stderr, 'Block submittal result: %s Expected: %s' % (result, expected_result) + raise deferral.RetrySilentlyException() @tracker.verified.added.watch def _(share):