X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Fln%2Fchannel.rs;h=c8209a9eac6f984f76514987729d9ca04dde192f;hb=d2a9ae0b8eb5bdb1724be0b8d398d0fdf9870266;hp=b37550b0d2a91eb909bb997dc3dda39a91de887b;hpb=a82fb6285692edbfba7dee4a26da545298eb32d0;p=rust-lightning diff --git a/lightning/src/ln/channel.rs b/lightning/src/ln/channel.rs index b37550b0..c8209a9e 100644 --- a/lightning/src/ln/channel.rs +++ b/lightning/src/ln/channel.rs @@ -3550,6 +3550,12 @@ impl Channel { return; } + if self.channel_state & (ChannelState::PeerDisconnected as u32) == (ChannelState::PeerDisconnected as u32) { + // While the below code should be idempotent, it's simpler to just return early, as + // redundant disconnect events can fire, though they should be rare. + return; + } + if self.announcement_sigs_state == AnnouncementSigsState::MessageSent || self.announcement_sigs_state == AnnouncementSigsState::Committed { self.announcement_sigs_state = AnnouncementSigsState::NotSent; }