diff --git a/packages/core/src/scheduler/task.rs b/packages/core/src/scheduler/task.rs index bf1075688..d2e9135e6 100644 --- a/packages/core/src/scheduler/task.rs +++ b/packages/core/src/scheduler/task.rs @@ -49,14 +49,15 @@ impl Scheduler { }; let mut cx = std::task::Context::from_waker(&task.waker); - let _ = task.task.borrow_mut().as_mut().poll(&mut cx); + + if !task.task.borrow_mut().as_mut().poll(&mut cx).is_ready() { + self.sender + .unbounded_send(SchedulerMsg::TaskNotified(task_id)) + .expect("Scheduler should exist"); + } entry.insert(task); - self.sender - .unbounded_send(SchedulerMsg::TaskNotified(task_id)) - .expect("Scheduler should exist"); - task_id }