diff --git a/awkernel_async_lib/src/dag.rs b/awkernel_async_lib/src/dag.rs index 8d40959c..2cf389d0 100644 --- a/awkernel_async_lib/src/dag.rs +++ b/awkernel_async_lib/src/dag.rs @@ -895,14 +895,17 @@ where ); let mut interval = interval(period); + // Consume the first tick here to start the loop's main body without an initial delay. + interval.tick().await; loop { - interval.tick().await; let results = f(); publishers.send_all(results).await; #[cfg(feature = "perf")] periodic_measure(); + + interval.tick().await; } };