From 4e6c03c9da775c86d0b85dac9cee4612c7fa2c16 Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Thu, 10 Jan 2019 00:09:56 -0700 Subject: [PATCH] Avoid holding a read lock during IO --- src/cluster_info.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cluster_info.rs b/src/cluster_info.rs index e71fcd18f9..f15c8e58da 100644 --- a/src/cluster_info.rs +++ b/src/cluster_info.rs @@ -598,8 +598,8 @@ impl ClusterInfo { /// # Remarks /// We need to avoid having obj locked while doing any io, such as the `send_to` pub fn retransmit(obj: &Arc>, blob: &SharedBlob, s: &UdpSocket) -> Result<()> { - let me = obj.read().unwrap(); - ClusterInfo::retransmit_to(obj, &me.retransmit_peers(), blob, s) + let peers = obj.read().unwrap().retransmit_peers(); + ClusterInfo::retransmit_to(obj, &peers, blob, s) } fn send_orders(