@@ -2639,8 +2639,8 @@ where
26392639 let best_block_height = self.best_block.read().unwrap().height;
26402640 let per_peer_state = self.per_peer_state.read().unwrap();
26412641 for (_cp_id, peer_state_rwlock) in per_peer_state.iter() {
2642- let mut peer_state_lock = peer_state_rwlock.write ().unwrap();
2643- let peer_state = &mut *peer_state_lock;
2642+ let peer_state_lock = peer_state_rwlock.read ().unwrap();
2643+ let peer_state = &*peer_state_lock;
26442644 res.extend(peer_state.channel_by_id.iter()
26452645 .filter_map(|(chan_id, phase)| match phase {
26462646 // Only `Channels` in the `ChannelPhase::Funded` phase can be considered funded.
@@ -2672,8 +2672,8 @@ where
26722672 let best_block_height = self.best_block.read().unwrap().height;
26732673 let per_peer_state = self.per_peer_state.read().unwrap();
26742674 for (_cp_id, peer_state_rwlock) in per_peer_state.iter() {
2675- let mut peer_state_lock = peer_state_rwlock.write ().unwrap();
2676- let peer_state = &mut *peer_state_lock;
2675+ let peer_state_lock = peer_state_rwlock.read ().unwrap();
2676+ let peer_state = &*peer_state_lock;
26772677 for context in peer_state.channel_by_id.iter().map(|(_, phase)| phase.context()) {
26782678 let details = ChannelDetails::from_channel_context(context, best_block_height,
26792679 peer_state.latest_features.clone(), &self.fee_estimator);
@@ -2703,8 +2703,8 @@ where
27032703 let per_peer_state = self.per_peer_state.read().unwrap();
27042704
27052705 if let Some(peer_state_rwlock) = per_peer_state.get(counterparty_node_id) {
2706- let mut peer_state_lock = peer_state_rwlock.write ().unwrap();
2707- let peer_state = &mut *peer_state_lock;
2706+ let peer_state_lock = peer_state_rwlock.read ().unwrap();
2707+ let peer_state = &*peer_state_lock;
27082708 let features = &peer_state.latest_features;
27092709 let context_to_details = |context| {
27102710 ChannelDetails::from_channel_context(context, best_block_height, features.clone(), &self.fee_estimator)
0 commit comments