Merge branch 'bugfix/config_assert_thread_safety' into 'master'
freertos: Fix configASSERT thread safety Closes IDFGH-2055 See merge request espressif/esp-idf!6612
This commit is contained in:
commit
12de58bfac
1 changed files with 5 additions and 5 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.
|
//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
|
if( pxTCB == pxCurrentTCB[ core ] ) //If task was currently running on this core
|
||||||
{
|
{
|
||||||
configASSERT( uxSchedulerSuspended[ core ] == 0 );
|
configASSERT( xTaskGetSchedulerState() == taskSCHEDULER_RUNNING )
|
||||||
|
|
||||||
/* The pre-delete hook is primarily for the Windows simulator,
|
/* The pre-delete hook is primarily for the Windows simulator,
|
||||||
in which Windows specific clean up operations are performed,
|
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( pxPreviousWakeTime );
|
||||||
configASSERT( ( xTimeIncrement > 0U ) );
|
configASSERT( ( xTimeIncrement > 0U ) );
|
||||||
configASSERT( uxSchedulerSuspended[ xPortGetCoreID() ] == 0 );
|
configASSERT( xTaskGetSchedulerState() == taskSCHEDULER_RUNNING );
|
||||||
|
|
||||||
taskENTER_CRITICAL(&xTaskQueueMutex);
|
taskENTER_CRITICAL(&xTaskQueueMutex);
|
||||||
// vTaskSuspendAll();
|
// vTaskSuspendAll();
|
||||||
|
@ -1434,7 +1434,7 @@ static void prvAddNewTaskToReadyList( TCB_t *pxNewTCB, TaskFunction_t pxTaskCode
|
||||||
/* A delay time of zero just forces a reschedule. */
|
/* A delay time of zero just forces a reschedule. */
|
||||||
if( xTicksToDelay > ( TickType_t ) 0U )
|
if( xTicksToDelay > ( TickType_t ) 0U )
|
||||||
{
|
{
|
||||||
configASSERT( uxSchedulerSuspended[ xPortGetCoreID() ] == 0 );
|
configASSERT( xTaskGetSchedulerState() == taskSCHEDULER_RUNNING );
|
||||||
taskENTER_CRITICAL(&xTaskQueueMutex);
|
taskENTER_CRITICAL(&xTaskQueueMutex);
|
||||||
// vTaskSuspendAll();
|
// vTaskSuspendAll();
|
||||||
{
|
{
|
||||||
|
@ -1817,7 +1817,7 @@ static void prvAddNewTaskToReadyList( TCB_t *pxNewTCB, TaskFunction_t pxTaskCode
|
||||||
if( xSchedulerRunning != pdFALSE )
|
if( xSchedulerRunning != pdFALSE )
|
||||||
{
|
{
|
||||||
/* The current task has just been suspended. */
|
/* The current task has just been suspended. */
|
||||||
configASSERT( uxSchedulerSuspended[ xPortGetCoreID() ] == 0 );
|
configASSERT( xTaskGetSchedulerState() == taskSCHEDULER_RUNNING );
|
||||||
portYIELD_WITHIN_API();
|
portYIELD_WITHIN_API();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -2213,7 +2213,7 @@ BaseType_t xAlreadyYielded = pdFALSE;
|
||||||
|
|
||||||
/* If uxSchedulerSuspended[ xPortGetCoreID() ] is zero then this function does not match a
|
/* If uxSchedulerSuspended[ xPortGetCoreID() ] is zero then this function does not match a
|
||||||
previous call to vTaskSuspendAll(). */
|
previous call to vTaskSuspendAll(). */
|
||||||
configASSERT( uxSchedulerSuspended[ xPortGetCoreID() ] );
|
configASSERT( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED );
|
||||||
/* It is possible that an ISR caused a task to be removed from an event
|
/* 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
|
list while the scheduler was suspended. If this was the case then the
|
||||||
removed task will have been added to the xPendingReadyList. Once the
|
removed task will have been added to the xPendingReadyList. Once the
|
||||||
|
|
Loading…
Reference in a new issue