@@ -767,9 +767,8 @@ where
767
767
/// very far in the past, and can only ever be up to two hours in the future.
768
768
highest_seen_timestamp : AtomicUsize ,
769
769
770
- /// The bulk of our storage will eventually be here (message queues and the like). Currently
771
- /// the `per_peer_state` stores our channels on a per-peer basis, as well as the peer's latest
772
- /// features.
770
+ /// The bulk of our storage. Currently the `per_peer_state` stores our channels on a per-peer
771
+ /// basis, as well as the peer's latest features.
773
772
///
774
773
/// If we are connected to a peer we always at least have an entry here, even if no channels
775
774
/// are currently open with that peer.
@@ -1250,7 +1249,7 @@ macro_rules! handle_error {
1250
1249
#[ cfg( any( feature = "_test_utils" , test) ) ]
1251
1250
{
1252
1251
if per_peer_state. get( & $counterparty_node_id) . is_none( ) {
1253
- // This shouldn't occour in tests unless an unkown counterparty_node_id
1252
+ // This shouldn't occur in tests unless an unknown counterparty_node_id
1254
1253
// has been passed to our message handling functions.
1255
1254
let expected_error_str = format!( "Can't find a peer matching the passed counterparty node_id {}" , $counterparty_node_id) ;
1256
1255
match err. action {
@@ -2313,7 +2312,9 @@ where
2313
2312
/// public, and thus should be called whenever the result is going to be passed out in a
2314
2313
/// [`MessageSendEvent::BroadcastChannelUpdate`] event.
2315
2314
///
2316
- /// May be called with peer_state already locked!
2315
+ /// Note that in `internal_closing_signed`, this function is called without the `peer_state`
2316
+ /// corresponding to the channel's counterparty locked, as the channel been removed from the
2317
+ /// storage and the `peer_state` lock has been dropped.
2317
2318
fn get_channel_update_for_broadcast ( & self , chan : & Channel < <SP :: Target as SignerProvider >:: Signer > ) -> Result < msgs:: ChannelUpdate , LightningError > {
2318
2319
if !chan. should_announce ( ) {
2319
2320
return Err ( LightningError {
@@ -2332,7 +2333,10 @@ where
2332
2333
/// is public (only returning an Err if the channel does not yet have an assigned short_id),
2333
2334
/// and thus MUST NOT be called unless the recipient of the resulting message has already
2334
2335
/// provided evidence that they know about the existence of the channel.
2335
- /// May be called with peer_state already locked!
2336
+ ///
2337
+ /// Note that through `internal_closing_signed`, this function is called without the
2338
+ /// `peer_state` corresponding to the channel's counterparty locked, as the channel been
2339
+ /// removed from the storage and the `peer_state` lock has been dropped.
2336
2340
fn get_channel_update_for_unicast ( & self , chan : & Channel < <SP :: Target as SignerProvider >:: Signer > ) -> Result < msgs:: ChannelUpdate , LightningError > {
2337
2341
log_trace ! ( self . logger, "Attempting to generate channel update for channel {}" , log_bytes!( chan. channel_id( ) ) ) ;
2338
2342
let short_channel_id = match chan. get_short_channel_id ( ) . or ( chan. latest_inbound_scid_alias ( ) ) {
@@ -3712,7 +3716,7 @@ where
3712
3716
fn fail_htlc_backwards_internal ( & self , source : & HTLCSource , payment_hash : & PaymentHash , onion_error : & HTLCFailReason , destination : HTLCDestination ) {
3713
3717
#[ cfg( any( feature = "_test_utils" , test) ) ]
3714
3718
{
3715
- // Ensure that no peer state channel storage lock is not held when calling this
3719
+ // Ensure that the peer state channel storage lock is not held when calling this
3716
3720
// function.
3717
3721
// This ensures that future code doesn't introduce a lock_order requirement for
3718
3722
// `forward_htlcs` to be locked after the `per_peer_state` peer locks, which calling
0 commit comments