@@ -1226,13 +1226,14 @@ impl OutboundPayments {
12261226 )
12271227 }
12281228
1229+ // Returns whether the data changed and needs to be repersisted.
12291230 #[ rustfmt:: skip]
12301231 pub ( super ) fn check_retry_payments < R : Deref , ES : Deref , NS : Deref , SP , IH , FH , L : Deref > (
12311232 & self , router : & R , first_hops : FH , inflight_htlcs : IH , entropy_source : & ES , node_signer : & NS ,
12321233 best_block_height : u32 ,
12331234 pending_events : & Mutex < VecDeque < ( events:: Event , Option < EventCompletionAction > ) > > , logger : & L ,
12341235 send_payment_along_path : SP ,
1235- )
1236+ ) -> bool
12361237 where
12371238 R :: Target : Router ,
12381239 ES :: Target : EntropySource ,
@@ -1243,6 +1244,7 @@ impl OutboundPayments {
12431244 L :: Target : Logger ,
12441245 {
12451246 let _single_thread = self . retry_lock . lock ( ) . unwrap ( ) ;
1247+ let mut should_persist = false ;
12461248 loop {
12471249 let mut outbounds = self . pending_outbound_payments . lock ( ) . unwrap ( ) ;
12481250 let mut retry_id_route_params = None ;
@@ -1262,7 +1264,8 @@ impl OutboundPayments {
12621264 }
12631265 core:: mem:: drop ( outbounds) ;
12641266 if let Some ( ( payment_hash, payment_id, route_params) ) = retry_id_route_params {
1265- self . find_route_and_send_payment ( payment_hash, payment_id, route_params, router, first_hops ( ) , & inflight_htlcs, entropy_source, node_signer, best_block_height, logger, pending_events, & send_payment_along_path)
1267+ self . find_route_and_send_payment ( payment_hash, payment_id, route_params, router, first_hops ( ) , & inflight_htlcs, entropy_source, node_signer, best_block_height, logger, pending_events, & send_payment_along_path) ;
1268+ should_persist = true ;
12661269 } else { break }
12671270 }
12681271
@@ -1278,10 +1281,12 @@ impl OutboundPayments {
12781281 reason : * reason,
12791282 } , None ) ) ;
12801283 retain = false ;
1284+ should_persist = true ;
12811285 }
12821286 }
12831287 retain
12841288 } ) ;
1289+ should_persist
12851290 }
12861291
12871292 #[ rustfmt:: skip]
0 commit comments