From e6136eb07580195a5c292699a718fb525e9e0f5b Mon Sep 17 00:00:00 2001 From: Gav Wood Date: Thu, 24 Mar 2016 14:13:43 +0000 Subject: [PATCH] Fix mining. --- rpc/src/v1/impls/eth.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rpc/src/v1/impls/eth.rs b/rpc/src/v1/impls/eth.rs index 638403c7d..a59c68ec6 100644 --- a/rpc/src/v1/impls/eth.rs +++ b/rpc/src/v1/impls/eth.rs @@ -197,6 +197,8 @@ impl EthClient } } +const MAX_QUEUE_SIZE_TO_MINE_ON: usize = 4; // because uncles go back 6. + impl Eth for EthClient where C: BlockChainClient + 'static, S: SyncProvider + 'static, @@ -401,7 +403,7 @@ impl Eth for EthClient // check if we're still syncing and return empty strings in that case { let sync = take_weak!(self.sync); - if sync.status().state != SyncState::Idle && client.queue_info().is_empty() { + if sync.status().state != SyncState::Idle && !client.queue_info().total_queue_size() > MAX_QUEUE_SIZE_TO_MINE_ON { trace!(target: "miner", "Syncing. Cannot give any work."); return to_value(&(String::new(), String::new(), String::new())); }