Remove run state assertion in prvCheckForRunStateChange

The task run state can still be altered after it enable the interrupt
to serviec the yield request.
This commit is contained in:
Ching-Hsin,Lee 2024-06-19 15:07:08 +08:00
parent 76eb443821
commit 62940d3d56

View file

@ -845,10 +845,11 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
portENABLE_INTERRUPTS(); portENABLE_INTERRUPTS();
/* Enabling interrupts should cause this core to immediately /* Enabling interrupts should cause this core to immediately service
* service the pending interrupt and yield. If the run state is still * the pending interrupt and yield. After servicing the pending interrupt,
* yielding here then that is a problem. */ * the task needs to re-evaluate its run state within this loop, as
configASSERT( pxThisTCB->xTaskRunState != taskTASK_SCHEDULED_TO_YIELD ); * other cores may have requested this task to yield, potentially altering
* its run state. */
portDISABLE_INTERRUPTS(); portDISABLE_INTERRUPTS();
portGET_TASK_LOCK(); portGET_TASK_LOCK();