Merge branch 'bugfix/unicore_crash_in_xtaskresumeall' into 'master'
freertos: modify configASSERTs around scheduler state check See merge request espressif/esp-idf!6685
This commit is contained in:
commit
d57890cdff
1 changed files with 6 additions and 6 deletions
|
@ -1301,7 +1301,7 @@ static void prvAddNewTaskToReadyList( TCB_t *pxNewTCB, TaskFunction_t pxTaskCode
|
|||
//No mux; no harm done if this misfires. The deleted task won't get scheduled anyway.
|
||||
if( pxTCB == pxCurrentTCB[ core ] ) //If task was currently running on this core
|
||||
{
|
||||
configASSERT( xTaskGetSchedulerState() == taskSCHEDULER_RUNNING )
|
||||
configASSERT( xTaskGetSchedulerState() != taskSCHEDULER_SUSPENDED )
|
||||
|
||||
/* The pre-delete hook is primarily for the Windows simulator,
|
||||
in which Windows specific clean up operations are performed,
|
||||
|
@ -1336,7 +1336,7 @@ static void prvAddNewTaskToReadyList( TCB_t *pxNewTCB, TaskFunction_t pxTaskCode
|
|||
|
||||
configASSERT( pxPreviousWakeTime );
|
||||
configASSERT( ( xTimeIncrement > 0U ) );
|
||||
configASSERT( xTaskGetSchedulerState() == taskSCHEDULER_RUNNING );
|
||||
configASSERT( xTaskGetSchedulerState() != taskSCHEDULER_SUSPENDED );
|
||||
|
||||
taskENTER_CRITICAL(&xTaskQueueMutex);
|
||||
// vTaskSuspendAll();
|
||||
|
@ -1434,7 +1434,7 @@ static void prvAddNewTaskToReadyList( TCB_t *pxNewTCB, TaskFunction_t pxTaskCode
|
|||
/* A delay time of zero just forces a reschedule. */
|
||||
if( xTicksToDelay > ( TickType_t ) 0U )
|
||||
{
|
||||
configASSERT( xTaskGetSchedulerState() == taskSCHEDULER_RUNNING );
|
||||
configASSERT( xTaskGetSchedulerState() != taskSCHEDULER_SUSPENDED );
|
||||
taskENTER_CRITICAL(&xTaskQueueMutex);
|
||||
// vTaskSuspendAll();
|
||||
{
|
||||
|
@ -1817,7 +1817,7 @@ static void prvAddNewTaskToReadyList( TCB_t *pxNewTCB, TaskFunction_t pxTaskCode
|
|||
if( xSchedulerRunning != pdFALSE )
|
||||
{
|
||||
/* The current task has just been suspended. */
|
||||
configASSERT( xTaskGetSchedulerState() == taskSCHEDULER_RUNNING );
|
||||
configASSERT( xTaskGetSchedulerState() != taskSCHEDULER_SUSPENDED );
|
||||
portYIELD_WITHIN_API();
|
||||
}
|
||||
else
|
||||
|
@ -2211,9 +2211,9 @@ BaseType_t xTaskResumeAll( void )
|
|||
TCB_t *pxTCB;
|
||||
BaseType_t xAlreadyYielded = pdFALSE;
|
||||
|
||||
/* If uxSchedulerSuspended[ xPortGetCoreID() ] is zero then this function does not match a
|
||||
/* If scheduler state is `taskSCHEDULER_RUNNING` then this function does not match a
|
||||
previous call to vTaskSuspendAll(). */
|
||||
configASSERT( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED );
|
||||
configASSERT( xTaskGetSchedulerState() != taskSCHEDULER_RUNNING );
|
||||
/* It is possible that an ISR caused a task to be removed from an event
|
||||
list while the scheduler was suspended. If this was the case then the
|
||||
removed task will have been added to the xPendingReadyList. Once the
|
||||
|
|
Loading…
Reference in a new issue