Skip to content

Commit c7627df

Browse files
authored
Merge pull request #3311 from TheBlueMatt/2024-09-3010-followups
Quick #3010 followups
2 parents a661c92 + d156b2e commit c7627df

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

lightning/src/ln/offers_tests.rs

+1
Original file line numberDiff line numberDiff line change
@@ -1101,6 +1101,7 @@ fn creates_and_pays_for_offer_with_retry() {
11011101
expect_recent_payment!(bob, RecentPaymentDetails::AwaitingInvoice, payment_id);
11021102

11031103
let _lost_onion_message = bob.onion_messenger.next_onion_message_for_peer(alice_id).unwrap();
1104+
assert!(bob.onion_messenger.next_onion_message_for_peer(alice_id).is_none());
11041105

11051106
// Simulate a scenario where the original onion_message is lost before reaching Alice.
11061107
// Use handle_message_received to regenerate the message.

lightning/src/ln/peer_handler.rs

+7-6
Original file line numberDiff line numberDiff line change
@@ -1618,14 +1618,15 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, OM: Deref, L: Deref, CM
16181618
let their_node_id = peer_lock.their_node_id.expect("We know the peer's public key by the time we receive messages").0;
16191619
let logger = WithContext::from(&self.logger, Some(their_node_id), None, None);
16201620

1621+
let unprocessed_message = self.do_handle_message_holding_peer_lock(peer_lock, message, their_node_id, &logger)?;
1622+
16211623
self.message_handler.chan_handler.message_received();
1622-
1623-
let message = match self.do_handle_message_holding_peer_lock(peer_lock, message, their_node_id, &logger)? {
1624-
Some(processed_message) => processed_message,
1625-
None => return Ok(None),
1626-
};
16271624

1628-
self.do_handle_message_without_peer_lock(peer_mutex, message, their_node_id, &logger)
1625+
if let Some(message) = unprocessed_message {
1626+
self.do_handle_message_without_peer_lock(peer_mutex, message, their_node_id, &logger)
1627+
} else {
1628+
Ok(None)
1629+
}
16291630
}
16301631

16311632
// Conducts all message processing that requires us to hold the `peer_lock`.

0 commit comments

Comments
 (0)