From b06e1303f7b505e379f9ecf6a3be9c9dc6083a3d Mon Sep 17 00:00:00 2001 From: keorn Date: Wed, 15 Mar 2017 18:52:43 +0000 Subject: [PATCH 1/2] no max sealing when external --- ethcore/src/miner/miner.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ethcore/src/miner/miner.rs b/ethcore/src/miner/miner.rs index d9df86cef4a..c6146cf6d0e 100644 --- a/ethcore/src/miner/miner.rs +++ b/ethcore/src/miner/miner.rs @@ -303,9 +303,7 @@ impl Miner { } fn forced_sealing(&self) -> bool { - self.options.force_sealing - || !self.options.new_work_notify.is_empty() - || Instant::now() > *self.next_mandatory_reseal.read() + self.options.force_sealing || !self.options.new_work_notify.is_empty() } /// Clear all pending block states @@ -483,7 +481,7 @@ impl Miner { /// Attempts to perform internal sealing (one that does not require work) and handles the result depending on the type of Seal. fn seal_and_import_block_internally(&self, chain: &MiningBlockChainClient, block: ClosedBlock) -> bool { - if !block.transactions().is_empty() || self.forced_sealing() { + if !block.transactions().is_empty() || Instant::now() > *self.next_mandatory_reseal.read() { trace!(target: "miner", "seal_block_internally: attempting internal seal."); match self.engine.generate_seal(block.block()) { // Save proposal for later seal submission and broadcast it. From 59890328afb4690c9435bb39ab1395d8b88d8826 Mon Sep 17 00:00:00 2001 From: keorn Date: Thu, 16 Mar 2017 13:11:14 +0000 Subject: [PATCH 2/2] force internal sealing --- ethcore/src/miner/miner.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ethcore/src/miner/miner.rs b/ethcore/src/miner/miner.rs index c6146cf6d0e..2b84172d759 100644 --- a/ethcore/src/miner/miner.rs +++ b/ethcore/src/miner/miner.rs @@ -481,7 +481,7 @@ impl Miner { /// Attempts to perform internal sealing (one that does not require work) and handles the result depending on the type of Seal. fn seal_and_import_block_internally(&self, chain: &MiningBlockChainClient, block: ClosedBlock) -> bool { - if !block.transactions().is_empty() || Instant::now() > *self.next_mandatory_reseal.read() { + if !block.transactions().is_empty() || self.forced_sealing() || Instant::now() > *self.next_mandatory_reseal.read() { trace!(target: "miner", "seal_block_internally: attempting internal seal."); match self.engine.generate_seal(block.block()) { // Save proposal for later seal submission and broadcast it.