From 5503cd46464d2f410ebc58e497d4cd55b1a5600c Mon Sep 17 00:00:00 2001 From: Gav Wood Date: Mon, 14 Mar 2016 12:41:11 +0100 Subject: [PATCH 1/2] Lock reports to avoid out of order badness. --- parity/main.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/parity/main.rs b/parity/main.rs index 8562b416d..d7e92d6ff 100644 --- a/parity/main.rs +++ b/parity/main.rs @@ -583,13 +583,15 @@ impl Informant { let chain_info = client.chain_info(); let queue_info = client.queue_info(); let cache_info = client.blockchain_cache_info(); - let report = client.report(); let sync_info = sync.status(); + let write_report = self.report.write().unwrap(); + let report = client.report(); + if let (_, _, &Some(ref last_report)) = ( self.chain_info.read().unwrap().deref(), self.cache_info.read().unwrap().deref(), - self.report.read().unwrap().deref() + write_report.deref() ) { println!("[ #{} {} ]---[ {} blk/s | {} tx/s | {} gas/s //··· {}/{} peers, #{}, {}+{} queued ···// mem: {} db, {} chain, {} queue, {} sync ]", chain_info.best_block_number, @@ -613,7 +615,7 @@ impl Informant { *self.chain_info.write().unwrap().deref_mut() = Some(chain_info); *self.cache_info.write().unwrap().deref_mut() = Some(cache_info); - *self.report.write().unwrap().deref_mut() = Some(report); + *write_report.deref_mut() = Some(report); } } From 4e5ebc94579cadef5a1ca1c42f62ffbf6959d87b Mon Sep 17 00:00:00 2001 From: arkpar Date: Mon, 14 Mar 2016 14:22:18 +0100 Subject: [PATCH 2/2] missing mut --- parity/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parity/main.rs b/parity/main.rs index 26e3e4b78..b8cc2a0f0 100644 --- a/parity/main.rs +++ b/parity/main.rs @@ -610,7 +610,7 @@ impl Informant { let cache_info = client.blockchain_cache_info(); let sync_info = sync.status(); - let write_report = self.report.write().unwrap(); + let mut write_report = self.report.write().unwrap(); let report = client.report(); if let (_, _, &Some(ref last_report)) = (