don't acquire the lock unless, and only hold it for as long as, necessary. (#2530)

This commit is contained in:
Gregory Terzian authored and Gavin Wood committed 2019-05-10 14:15:36 +02:00
1 parent 42fa5f6209
commit 363448cd01
1 file changed
+3 -4
@@ -623,13 +623,12 @@ impl<Block: BlockT> GossipValidator<Block> {
{
let mut broadcast_topics = Vec::new();
let action = {
let mut inner = self.inner.write();
match GossipMessage::<Block>::decode(&mut data) {
Some(GossipMessage::VoteOrPrecommit(ref message))
=> inner.validate_round_message(who, message),
Some(GossipMessage::Commit(ref message)) => inner.validate_commit_message(who, message),
=> self.inner.write().validate_round_message(who, message),
Some(GossipMessage::Commit(ref message)) => self.inner.write().validate_commit_message(who, message),
Some(GossipMessage::Neighbor(update)) => {
let (topics, action) = inner.import_neighbor_message(
let (topics, action) = self.inner.write().import_neighbor_message(
who,
update.into_neighbor_packet(),
);