@@ -1445,11 +1445,14 @@ where
1445
1445
let future = ResultFuture :: Pending ( handler ( ev) ) ;
1446
1446
futures. push ( future) ;
1447
1447
}
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
+ }
1453
1456
}
1454
1457
1455
1458
{
@@ -1472,10 +1475,13 @@ where
1472
1475
let future = ResultFuture :: Pending ( handler ( event) ) ;
1473
1476
futures. push ( future) ;
1474
1477
}
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
+ }
1479
1485
}
1480
1486
}
1481
1487
self . pending_events_processor . store ( false , Ordering :: Release ) ;
0 commit comments