@@ -1445,11 +1445,14 @@ where
14451445 let future = ResultFuture :: Pending ( handler ( ev) ) ;
14461446 futures. push ( future) ;
14471447 }
1448- // Let the `OnionMessageIntercepted` events finish before moving on to peer_connecteds
1449- let res = MultiResultFuturePoller :: new ( futures) . await ;
1450- log_trace ! ( self . logger, "Done handling events async, results: {:?}" , res) ;
1451- let mut res_iter = res. iter ( ) . skip ( intercepted_msgs_offset) ;
1452- drop_handled_events_and_abort ! ( self , res_iter, self . pending_intercepted_msgs_events) ;
1448+
1449+ if !futures. is_empty ( ) {
1450+ // Let the `OnionMessageIntercepted` events finish before moving on to peer_connecteds
1451+ let res = MultiResultFuturePoller :: new ( futures) . await ;
1452+ log_trace ! ( self . logger, "Done handling events async, results: {:?}" , res) ;
1453+ let mut res_iter = res. iter ( ) . skip ( intercepted_msgs_offset) ;
1454+ drop_handled_events_and_abort ! ( self , res_iter, self . pending_intercepted_msgs_events) ;
1455+ }
14531456 }
14541457
14551458 {
@@ -1472,10 +1475,13 @@ where
14721475 let future = ResultFuture :: Pending ( handler ( event) ) ;
14731476 futures. push ( future) ;
14741477 }
1475- let res = MultiResultFuturePoller :: new ( futures) . await ;
1476- log_trace ! ( self . logger, "Done handling events async, results: {:?}" , res) ;
1477- let mut res_iter = res. iter ( ) ;
1478- drop_handled_events_and_abort ! ( self , res_iter, self . pending_peer_connected_events) ;
1478+
1479+ if !futures. is_empty ( ) {
1480+ let res = MultiResultFuturePoller :: new ( futures) . await ;
1481+ log_trace ! ( self . logger, "Done handling events async, results: {:?}" , res) ;
1482+ let mut res_iter = res. iter ( ) ;
1483+ drop_handled_events_and_abort ! ( self , res_iter, self . pending_peer_connected_events) ;
1484+ }
14791485 }
14801486 }
14811487 self . pending_events_processor . store ( false , Ordering :: Release ) ;
0 commit comments