Skip to content

Commit a3afe59

Browse files
f - take channel_state only when needed in internal_channel_update
1 parent 82b2138 commit a3afe59

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

lightning/src/ln/channelmanager.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5150,15 +5150,15 @@ impl<Signer: Sign, M: Deref, T: Deref, K: Deref, F: Deref, L: Deref> ChannelMana
51505150

51515151
/// Returns ShouldPersist if anything changed, otherwise either SkipPersist or an Err.
51525152
fn internal_channel_update(&self, counterparty_node_id: &PublicKey, msg: &msgs::ChannelUpdate) -> Result<NotifyOption, MsgHandleErrInternal> {
5153-
let mut channel_state_lock = self.channel_state.lock().unwrap();
5154-
let channel_state = &mut *channel_state_lock;
51555153
let chan_id = match self.short_to_chan_info.read().unwrap().get(&msg.contents.short_channel_id) {
51565154
Some((_cp_id, chan_id)) => chan_id.clone(),
51575155
None => {
51585156
// It's not a local channel
51595157
return Ok(NotifyOption::SkipPersist)
51605158
}
51615159
};
5160+
let mut channel_state_lock = self.channel_state.lock().unwrap();
5161+
let channel_state = &mut *channel_state_lock;
51625162
match channel_state.by_id.entry(chan_id) {
51635163
hash_map::Entry::Occupied(mut chan) => {
51645164
if chan.get().get_counterparty_node_id() != *counterparty_node_id {

0 commit comments

Comments
 (0)