@@ -297,23 +297,30 @@ macro_rules! define_run_body {
297
297
// persistence.
298
298
$peer_manager. process_events( ) ;
299
299
300
+ // Exit the loop if the background processor was requested to stop.
301
+ if $loop_exit_check {
302
+ log_trace!( $logger, "Terminating background processor." ) ;
303
+ break ;
304
+ }
305
+
300
306
// We wait up to 100ms, but track how long it takes to detect being put to sleep,
301
307
// see `await_start`'s use below.
302
308
let mut await_start = None ;
303
309
if $check_slow_await { await_start = Some ( $get_timer( 1 ) ) ; }
304
310
let updates_available = $await;
305
311
let await_slow = if $check_slow_await { $timer_elapsed( & mut await_start. unwrap( ) , 1 ) } else { false } ;
306
312
307
- if updates_available {
308
- log_trace!( $logger, "Persisting ChannelManager..." ) ;
309
- $persister. persist_manager( & * $channel_manager) ?;
310
- log_trace!( $logger, "Done persisting ChannelManager." ) ;
311
- }
312
313
// Exit the loop if the background processor was requested to stop.
313
314
if $loop_exit_check {
314
315
log_trace!( $logger, "Terminating background processor." ) ;
315
316
break ;
316
317
}
318
+
319
+ if updates_available {
320
+ log_trace!( $logger, "Persisting ChannelManager..." ) ;
321
+ $persister. persist_manager( & * $channel_manager) ?;
322
+ log_trace!( $logger, "Done persisting ChannelManager." ) ;
323
+ }
317
324
if $timer_elapsed( & mut last_freshness_call, FRESHNESS_TIMER ) {
318
325
log_trace!( $logger, "Calling ChannelManager's timer_tick_occurred" ) ;
319
326
$channel_manager. timer_tick_occurred( ) ;
0 commit comments