diff --git a/kernel/src/los_sched.c b/kernel/src/los_sched.c index c461dd34..d0b27435 100644 --- a/kernel/src/los_sched.c +++ b/kernel/src/los_sched.c @@ -362,7 +362,8 @@ VOID OsSchedTaskWake(LosTaskCB *resumedTask) resumedTask->taskStatus &= ~OS_TASK_STATUS_PEND_TIME; } - if (!(resumedTask->taskStatus & OS_TASK_STATUS_SUSPEND)) { + if (!(resumedTask->taskStatus & OS_TASK_STATUS_SUSPEND) && + !(resumedTask->taskStatus & OS_TASK_STATUS_RUNNING)) { OsSchedTaskEnQueue(resumedTask); } }