You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Test for extra locks held in handle_error unconditionally
`handle_error` must be called without `per_peer_state` mutex or
`pending_events` mutex locks held or we may risk deadlocks.
Previously we checked this in debug builds in the error path, but
not in the success path.
As it turns out, `funding_transaction_generated`'s error path does
hold a `per_peer_state` lock, which we fix here as well as move the
tests to happen unconditionally.
let _ = handle_error!(self, funding_res, chan.get_counterparty_node_id());
2808
+
returnErr(APIError::ChannelUnavailable{
2809
+
err:"Signer refused to sign the initial commitment transaction".to_owned()
2810
+
});
2804
2811
},
2805
-
None => {returnErr(APIError::ChannelUnavailable{err:format!("Channel with id {} not found for the passed counterparty node_id {}", log_bytes!(*temporary_channel_id), counterparty_node_id)})},
err:"Signer refused to sign the initial commitment transaction".to_owned()
2814
-
})},
2815
-
}
2813
+
},
2814
+
None => {returnErr(APIError::ChannelUnavailable{err:format!("Channel with id {} not found for the passed counterparty node_id {}", log_bytes!(*temporary_channel_id), counterparty_node_id)})},
0 commit comments