From 9b5bcb81fd663795be5adc90de006d5d646450be Mon Sep 17 00:00:00 2001 From: keorn Date: Fri, 24 Feb 2017 09:26:56 +0000 Subject: [PATCH] Fix Tendermint deadlock (#4654) * scope read * consistent step --- ethcore/src/engines/tendermint/mod.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ethcore/src/engines/tendermint/mod.rs b/ethcore/src/engines/tendermint/mod.rs index 47117f83a..21301898a 100644 --- a/ethcore/src/engines/tendermint/mod.rs +++ b/ethcore/src/engines/tendermint/mod.rs @@ -151,12 +151,12 @@ impl Tendermint { fn generate_message(&self, block_hash: Option) -> Option { let h = self.height.load(AtomicOrdering::SeqCst); let r = self.view.load(AtomicOrdering::SeqCst); - let s = self.step.read(); - let vote_info = message_info_rlp(&VoteStep::new(h, r, *s), block_hash); + let s = *self.step.read(); + let vote_info = message_info_rlp(&VoteStep::new(h, r, s), block_hash); match self.signer.sign(vote_info.sha3()).map(Into::into) { Ok(signature) => { let message_rlp = message_full_rlp(&signature, &vote_info); - let message = ConsensusMessage::new(signature, h, r, *s, block_hash); + let message = ConsensusMessage::new(signature, h, r, s, block_hash); let validator = self.signer.address(); self.votes.vote(message.clone(), &validator); debug!(target: "engine", "Generated {:?} as {}.", message, validator);