mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-12-12 06:35:19 -05:00
Simplified proof state in prvInitialiseNewTask.
This commit is contained in:
parent
40931d229d
commit
a78bc21b26
2 changed files with 196 additions and 189 deletions
4
tasks.c
4
tasks.c
|
|
@ -1610,6 +1610,10 @@ static void prvInitialiseNewTask( TaskFunction_t pxTaskCode,
|
||||||
listSET_LIST_ITEM_VALUE( &( pxNewTCB->xEventListItem ), ( TickType_t ) configMAX_PRIORITIES - ( TickType_t ) uxPriority ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */
|
listSET_LIST_ITEM_VALUE( &( pxNewTCB->xEventListItem ), ( TickType_t ) configMAX_PRIORITIES - ( TickType_t ) uxPriority ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */
|
||||||
listSET_LIST_ITEM_OWNER( &( pxNewTCB->xEventListItem ), pxNewTCB );
|
listSET_LIST_ITEM_OWNER( &( pxNewTCB->xEventListItem ), pxNewTCB );
|
||||||
|
|
||||||
|
// Closing predicates early simplifies the symbolic heap and proof debugging.
|
||||||
|
//@ close xLIST_ITEM(&pxNewTCB->xStateListItem, _, _, _, _);
|
||||||
|
//@ close xLIST_ITEM(&pxNewTCB->xEventListItem, _, _, _, _);
|
||||||
|
|
||||||
#if ( portCRITICAL_NESTING_IN_TCB == 1 )
|
#if ( portCRITICAL_NESTING_IN_TCB == 1 )
|
||||||
{
|
{
|
||||||
pxNewTCB->uxCriticalNesting = ( UBaseType_t ) 0U;
|
pxNewTCB->uxCriticalNesting = ( UBaseType_t ) 0U;
|
||||||
|
|
|
||||||
|
|
@ -10994,11 +10994,15 @@ static void prvInitialiseNewTask( TaskFunction_t pxTaskCode,
|
||||||
( ( &( pxNewTCB->xEventListItem ) )->xItemValue = ( ( TickType_t ) 32 - ( TickType_t ) uxPriority ) ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */
|
( ( &( pxNewTCB->xEventListItem ) )->xItemValue = ( ( TickType_t ) 32 - ( TickType_t ) uxPriority ) ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */
|
||||||
( ( &( pxNewTCB->xEventListItem ) )->pvOwner = ( void * ) ( pxNewTCB ) );
|
( ( &( pxNewTCB->xEventListItem ) )->pvOwner = ( void * ) ( pxNewTCB ) );
|
||||||
|
|
||||||
|
// Closing predicates early simplifies the symbolic heap and proof debugging.
|
||||||
|
//@ close xLIST_ITEM(&pxNewTCB->xStateListItem, _, _, _, _);
|
||||||
|
//@ close xLIST_ITEM(&pxNewTCB->xEventListItem, _, _, _, _);
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
pxNewTCB->uxCriticalNesting = ( UBaseType_t ) 0U;
|
pxNewTCB->uxCriticalNesting = ( UBaseType_t ) 0U;
|
||||||
}
|
}
|
||||||
// # 1636 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 1640 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
{
|
{
|
||||||
/* Avoid compiler warning about unreferenced parameter. */
|
/* Avoid compiler warning about unreferenced parameter. */
|
||||||
( void ) xRegions;
|
( void ) xRegions;
|
||||||
|
|
@ -11022,24 +11026,23 @@ static void prvInitialiseNewTask( TaskFunction_t pxTaskCode,
|
||||||
//@integers___to_integers_(pxNewTCB->ulNotifiedValue);
|
//@integers___to_integers_(pxNewTCB->ulNotifiedValue);
|
||||||
//@ integers__to_chars(pxNewTCB->ulNotifiedValue);
|
//@ integers__to_chars(pxNewTCB->ulNotifiedValue);
|
||||||
memset( ( void * ) &( pxNewTCB->ulNotifiedValue[ 0 ] ), 0x00, sizeof( pxNewTCB->ulNotifiedValue ) );
|
memset( ( void * ) &( pxNewTCB->ulNotifiedValue[ 0 ] ), 0x00, sizeof( pxNewTCB->ulNotifiedValue ) );
|
||||||
//@ uchars__to_chars_(pxNewTCB->ucNotifyState);
|
|
||||||
memset( ( void * ) &( pxNewTCB->ucNotifyState[ 0 ] ), 0x00, sizeof( pxNewTCB->ucNotifyState ) );
|
memset( ( void * ) &( pxNewTCB->ucNotifyState[ 0 ] ), 0x00, sizeof( pxNewTCB->ucNotifyState ) );
|
||||||
}
|
}
|
||||||
// # 1673 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 1677 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
{
|
{
|
||||||
pxNewTCB->ucDelayAborted = ( ( BaseType_t ) 0 );
|
pxNewTCB->ucDelayAborted = ( ( BaseType_t ) 0 );
|
||||||
}
|
}
|
||||||
// # 1691 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 1695 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/* Initialize the TCB stack to look as if the task was already running,
|
/* Initialize the TCB stack to look as if the task was already running,
|
||||||
* but had been interrupted by the scheduler. The return address is set
|
* but had been interrupted by the scheduler. The return address is set
|
||||||
* to the start of the task function. Once the stack has been initialised
|
* to the start of the task function. Once the stack has been initialised
|
||||||
* the top of stack variable is updated. */
|
* the top of stack variable is updated. */
|
||||||
// # 1719 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 1723 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
{
|
{
|
||||||
/* If the port has capability to detect stack overflow,
|
/* If the port has capability to detect stack overflow,
|
||||||
* pass the stack end address to the stack initialization
|
* pass the stack end address to the stack initialization
|
||||||
* function as well. */
|
* function as well. */
|
||||||
// # 1736 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 1740 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
{
|
{
|
||||||
pxNewTCB->pxTopOfStack = pxPortInitialiseStack( pxTopOfStack, pxTaskCode, pvParameters );
|
pxNewTCB->pxTopOfStack = pxPortInitialiseStack( pxTopOfStack, pxTaskCode, pvParameters );
|
||||||
}
|
}
|
||||||
|
|
@ -11250,7 +11253,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
|
||||||
|
|
||||||
if( xTaskRunningOnCore == xCoreID )
|
if( xTaskRunningOnCore == xCoreID )
|
||||||
{
|
{
|
||||||
(__builtin_expect(!(uxSchedulerSuspended == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 1946, "uxSchedulerSuspended == 0") : (void)0);
|
(__builtin_expect(!(uxSchedulerSuspended == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 1950, "uxSchedulerSuspended == 0") : (void)0);
|
||||||
vTaskYieldWithinAPI();
|
vTaskYieldWithinAPI();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -11273,12 +11276,12 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
|
||||||
TickType_t xTimeToWake;
|
TickType_t xTimeToWake;
|
||||||
BaseType_t xAlreadyYielded, xShouldDelay = ( ( BaseType_t ) 0 );
|
BaseType_t xAlreadyYielded, xShouldDelay = ( ( BaseType_t ) 0 );
|
||||||
|
|
||||||
(__builtin_expect(!(pxPreviousWakeTime), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 1969, "pxPreviousWakeTime") : (void)0);
|
(__builtin_expect(!(pxPreviousWakeTime), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 1973, "pxPreviousWakeTime") : (void)0);
|
||||||
(__builtin_expect(!(( xTimeIncrement > 0U )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 1970, "( xTimeIncrement > 0U )") : (void)0);
|
(__builtin_expect(!(( xTimeIncrement > 0U )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 1974, "( xTimeIncrement > 0U )") : (void)0);
|
||||||
|
|
||||||
vTaskSuspendAll();
|
vTaskSuspendAll();
|
||||||
{
|
{
|
||||||
(__builtin_expect(!(uxSchedulerSuspended == 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 1974, "uxSchedulerSuspended == 1") : (void)0);
|
(__builtin_expect(!(uxSchedulerSuspended == 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 1978, "uxSchedulerSuspended == 1") : (void)0);
|
||||||
|
|
||||||
/* Minor optimisation. The tick count cannot change in this
|
/* Minor optimisation. The tick count cannot change in this
|
||||||
* block. */
|
* block. */
|
||||||
|
|
@ -11364,7 +11367,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
|
||||||
{
|
{
|
||||||
vTaskSuspendAll();
|
vTaskSuspendAll();
|
||||||
{
|
{
|
||||||
(__builtin_expect(!(uxSchedulerSuspended == 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2060, "uxSchedulerSuspended == 1") : (void)0);
|
(__builtin_expect(!(uxSchedulerSuspended == 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2064, "uxSchedulerSuspended == 1") : (void)0);
|
||||||
;
|
;
|
||||||
|
|
||||||
/* A task that is removed from the event list while the
|
/* A task that is removed from the event list while the
|
||||||
|
|
@ -11418,7 +11421,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
|
||||||
|
|
||||||
const TCB_t * const pxTCB = xTask;
|
const TCB_t * const pxTCB = xTask;
|
||||||
|
|
||||||
(__builtin_expect(!(pxTCB), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2114, "pxTCB") : (void)0);
|
(__builtin_expect(!(pxTCB), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2118, "pxTCB") : (void)0);
|
||||||
|
|
||||||
vTaskEnterCritical();
|
vTaskEnterCritical();
|
||||||
{
|
{
|
||||||
|
|
@ -11594,7 +11597,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
|
||||||
BaseType_t xYieldForTask = ( ( BaseType_t ) 0 );
|
BaseType_t xYieldForTask = ( ( BaseType_t ) 0 );
|
||||||
BaseType_t xCoreID;
|
BaseType_t xCoreID;
|
||||||
|
|
||||||
(__builtin_expect(!(( uxNewPriority < 32 )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2290, "( uxNewPriority < 32 )") : (void)0);
|
(__builtin_expect(!(( uxNewPriority < 32 )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2294, "( uxNewPriority < 32 )") : (void)0);
|
||||||
|
|
||||||
/* Ensure the new priority is valid. */
|
/* Ensure the new priority is valid. */
|
||||||
if( uxNewPriority >= ( UBaseType_t ) 32 )
|
if( uxNewPriority >= ( UBaseType_t ) 32 )
|
||||||
|
|
@ -11748,13 +11751,13 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
|
||||||
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 2478 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 2482 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 2501 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 2505 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 2519 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 2523 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 2547 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 2551 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -11831,7 +11834,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
|
||||||
if( xTaskRunningOnCore == 0 )
|
if( xTaskRunningOnCore == 0 )
|
||||||
{
|
{
|
||||||
/* The current task has just been suspended. */
|
/* The current task has just been suspended. */
|
||||||
(__builtin_expect(!(uxSchedulerSuspended == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2623, "uxSchedulerSuspended == 0") : (void)0);
|
(__builtin_expect(!(uxSchedulerSuspended == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2627, "uxSchedulerSuspended == 0") : (void)0);
|
||||||
vTaskYieldWithinAPI();
|
vTaskYieldWithinAPI();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -11845,7 +11848,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
|
||||||
{
|
{
|
||||||
vTaskExitCritical();
|
vTaskExitCritical();
|
||||||
|
|
||||||
(__builtin_expect(!(pxTCB == pxCurrentTCBs[ xTaskRunningOnCore ]), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2637, "pxTCB == pxCurrentTCBs[ xTaskRunningOnCore ]") : (void)0);
|
(__builtin_expect(!(pxTCB == pxCurrentTCBs[ xTaskRunningOnCore ]), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2641, "pxTCB == pxCurrentTCBs[ xTaskRunningOnCore ]") : (void)0);
|
||||||
|
|
||||||
/* The scheduler is not running, but the task that was pointed
|
/* The scheduler is not running, but the task that was pointed
|
||||||
* to by pxCurrentTCB has just been suspended and pxCurrentTCB
|
* to by pxCurrentTCB has just been suspended and pxCurrentTCB
|
||||||
|
|
@ -11892,7 +11895,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
|
||||||
/* Accesses xPendingReadyList so must be called from a critical section. */
|
/* Accesses xPendingReadyList so must be called from a critical section. */
|
||||||
|
|
||||||
/* It does not make sense to check if the calling task is suspended. */
|
/* It does not make sense to check if the calling task is suspended. */
|
||||||
(__builtin_expect(!(xTask), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2684, "xTask") : (void)0);
|
(__builtin_expect(!(xTask), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2688, "xTask") : (void)0);
|
||||||
|
|
||||||
/* Is the task being resumed actually in the suspended list? */
|
/* Is the task being resumed actually in the suspended list? */
|
||||||
if( ( ( ( &( pxTCB->xStateListItem ) )->pxContainer == ( &xSuspendedTaskList ) ) ? ( ( ( BaseType_t ) 1 ) ) : ( ( ( BaseType_t ) 0 ) ) ) != ( ( BaseType_t ) 0 ) )
|
if( ( ( ( &( pxTCB->xStateListItem ) )->pxContainer == ( &xSuspendedTaskList ) ) ? ( ( ( BaseType_t ) 1 ) ) : ( ( ( BaseType_t ) 0 ) ) ) != ( ( BaseType_t ) 0 ) )
|
||||||
|
|
@ -11941,7 +11944,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
|
||||||
|
|
||||||
|
|
||||||
/* It does not make sense to resume the calling task. */
|
/* It does not make sense to resume the calling task. */
|
||||||
(__builtin_expect(!(xTaskToResume), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2733, "xTaskToResume") : (void)0);
|
(__builtin_expect(!(xTaskToResume), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2737, "xTaskToResume") : (void)0);
|
||||||
|
|
||||||
/* The parameter cannot be NULL as it is impossible to resume the
|
/* The parameter cannot be NULL as it is impossible to resume the
|
||||||
* currently executing task. It is also impossible to resume a task
|
* currently executing task. It is also impossible to resume a task
|
||||||
|
|
@ -12000,7 +12003,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
|
||||||
|
|
||||||
UBaseType_t uxSavedInterruptStatus;
|
UBaseType_t uxSavedInterruptStatus;
|
||||||
|
|
||||||
(__builtin_expect(!(xTaskToResume), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2792, "xTaskToResume") : (void)0);
|
(__builtin_expect(!(xTaskToResume), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2796, "xTaskToResume") : (void)0);
|
||||||
|
|
||||||
/* RTOS ports that support interrupt nesting have the concept of a
|
/* RTOS ports that support interrupt nesting have the concept of a
|
||||||
* maximum system call (or maximum API call) interrupt priority.
|
* maximum system call (or maximum API call) interrupt priority.
|
||||||
|
|
@ -12121,7 +12124,7 @@ static BaseType_t prvCreateIdleTasks( void )
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
// # 2960 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 2964 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
{
|
{
|
||||||
if( xCoreID == 0 )
|
if( xCoreID == 0 )
|
||||||
{
|
{
|
||||||
|
|
@ -12133,7 +12136,7 @@ static BaseType_t prvCreateIdleTasks( void )
|
||||||
( ( UBaseType_t ) 0x00 ), /* In effect ( tskIDLE_PRIORITY | portPRIVILEGE_BIT ), but tskIDLE_PRIORITY is zero. */
|
( ( UBaseType_t ) 0x00 ), /* In effect ( tskIDLE_PRIORITY | portPRIVILEGE_BIT ), but tskIDLE_PRIORITY is zero. */
|
||||||
&xIdleTaskHandle[ xCoreID ] ); /*lint !e961 MISRA exception, justified as it is not a redundant explicit cast to all supported compilers. */
|
&xIdleTaskHandle[ xCoreID ] ); /*lint !e961 MISRA exception, justified as it is not a redundant explicit cast to all supported compilers. */
|
||||||
}
|
}
|
||||||
// # 2983 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 2987 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -12170,7 +12173,7 @@ void vTaskStartScheduler( void )
|
||||||
* so interrupts will automatically get re-enabled when the first task
|
* so interrupts will automatically get re-enabled when the first task
|
||||||
* starts to run. */
|
* starts to run. */
|
||||||
assert_fct(false);
|
assert_fct(false);
|
||||||
// # 3033 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 3037 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
xNextTaskUnblockTime = ( TickType_t ) 0xffffffffUL;
|
xNextTaskUnblockTime = ( TickType_t ) 0xffffffffUL;
|
||||||
xSchedulerRunning = ( ( BaseType_t ) 1 );
|
xSchedulerRunning = ( ( BaseType_t ) 1 );
|
||||||
xTickCount = ( TickType_t ) 0;
|
xTickCount = ( TickType_t ) 0;
|
||||||
|
|
@ -12202,7 +12205,7 @@ void vTaskStartScheduler( void )
|
||||||
/* This line will only be reached if the kernel could not be started,
|
/* This line will only be reached if the kernel could not be started,
|
||||||
* because there was not enough FreeRTOS heap to create the idle task
|
* because there was not enough FreeRTOS heap to create the idle task
|
||||||
* or the timer task. */
|
* or the timer task. */
|
||||||
(__builtin_expect(!(xReturn != ( -1 )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3064, "xReturn != ( -1 )") : (void)0);
|
(__builtin_expect(!(xReturn != ( -1 )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3068, "xReturn != ( -1 )") : (void)0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Prevent compiler warnings if INCLUDE_xTaskGetIdleTaskHandle is set to 0,
|
/* Prevent compiler warnings if INCLUDE_xTaskGetIdleTaskHandle is set to 0,
|
||||||
|
|
@ -12267,7 +12270,7 @@ void vTaskSuspendAll( void )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*----------------------------------------------------------*/
|
/*----------------------------------------------------------*/
|
||||||
// # 3191 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 3195 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*----------------------------------------------------------*/
|
/*----------------------------------------------------------*/
|
||||||
|
|
||||||
BaseType_t xTaskResumeAll( void )
|
BaseType_t xTaskResumeAll( void )
|
||||||
|
|
@ -12290,7 +12293,7 @@ BaseType_t xTaskResumeAll( void )
|
||||||
|
|
||||||
/* If uxSchedulerSuspended is zero then this function does not match a
|
/* If uxSchedulerSuspended is zero then this function does not match a
|
||||||
* previous call to vTaskSuspendAll(). */
|
* previous call to vTaskSuspendAll(). */
|
||||||
(__builtin_expect(!(uxSchedulerSuspended), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3213, "uxSchedulerSuspended") : (void)0);
|
(__builtin_expect(!(uxSchedulerSuspended), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3217, "uxSchedulerSuspended") : (void)0);
|
||||||
|
|
||||||
--uxSchedulerSuspended;
|
--uxSchedulerSuspended;
|
||||||
vPortRecursiveLock(1, spin_lock_instance(15), ( ( BaseType_t ) 0 ));
|
vPortRecursiveLock(1, spin_lock_instance(15), ( ( BaseType_t ) 0 ));
|
||||||
|
|
@ -12448,7 +12451,7 @@ char * pcTaskGetName( TaskHandle_t xTaskToQuery ) /*lint !e971 Unqualified char
|
||||||
/* If null is passed in here then the name of the calling task is being
|
/* If null is passed in here then the name of the calling task is being
|
||||||
* queried. */
|
* queried. */
|
||||||
pxTCB = ( ( ( xTaskToQuery ) == 0 ) ? xTaskGetCurrentTaskHandle() : ( xTaskToQuery ) );
|
pxTCB = ( ( ( xTaskToQuery ) == 0 ) ? xTaskGetCurrentTaskHandle() : ( xTaskToQuery ) );
|
||||||
(__builtin_expect(!(pxTCB), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3371, "pxTCB") : (void)0);
|
(__builtin_expect(!(pxTCB), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3375, "pxTCB") : (void)0);
|
||||||
return &( pxTCB->pcTaskName[ 0 ] );
|
return &( pxTCB->pcTaskName[ 0 ] );
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
@ -12541,7 +12544,7 @@ char * pcTaskGetName( TaskHandle_t xTaskToQuery ) /*lint !e971 Unqualified char
|
||||||
TCB_t * pxTCB;
|
TCB_t * pxTCB;
|
||||||
|
|
||||||
/* Task names will be truncated to configMAX_TASK_NAME_LEN - 1 bytes. */
|
/* Task names will be truncated to configMAX_TASK_NAME_LEN - 1 bytes. */
|
||||||
(__builtin_expect(!(strlen( pcNameToQuery ) < 16), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3464, "strlen( pcNameToQuery ) < 16") : (void)0);
|
(__builtin_expect(!(strlen( pcNameToQuery ) < 16), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3468, "strlen( pcNameToQuery ) < 16") : (void)0);
|
||||||
|
|
||||||
vTaskSuspendAll();
|
vTaskSuspendAll();
|
||||||
{
|
{
|
||||||
|
|
@ -12637,7 +12640,7 @@ char * pcTaskGetName( TaskHandle_t xTaskToQuery ) /*lint !e971 Unqualified char
|
||||||
* each task in the Suspended state. */
|
* each task in the Suspended state. */
|
||||||
uxTask += prvListTasksWithinSingleList( &( pxTaskStatusArray[ uxTask ] ), &xSuspendedTaskList, eSuspended );
|
uxTask += prvListTasksWithinSingleList( &( pxTaskStatusArray[ uxTask ] ), &xSuspendedTaskList, eSuspended );
|
||||||
}
|
}
|
||||||
// # 3574 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 3578 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
{
|
{
|
||||||
if( pulTotalRunTime != 0 )
|
if( pulTotalRunTime != 0 )
|
||||||
{
|
{
|
||||||
|
|
@ -12665,7 +12668,7 @@ char * pcTaskGetName( TaskHandle_t xTaskToQuery ) /*lint !e971 Unqualified char
|
||||||
{
|
{
|
||||||
/* If xTaskGetIdleTaskHandle() is called before the scheduler has been
|
/* If xTaskGetIdleTaskHandle() is called before the scheduler has been
|
||||||
* started, then xIdleTaskHandle will be NULL. */
|
* started, then xIdleTaskHandle will be NULL. */
|
||||||
(__builtin_expect(!(( xIdleTaskHandle != 0 )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3601, "( xIdleTaskHandle != 0 )") : (void)0);
|
(__builtin_expect(!(( xIdleTaskHandle != 0 )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3605, "( xIdleTaskHandle != 0 )") : (void)0);
|
||||||
return &( xIdleTaskHandle[ 0 ] );
|
return &( xIdleTaskHandle[ 0 ] );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -12676,7 +12679,7 @@ char * pcTaskGetName( TaskHandle_t xTaskToQuery ) /*lint !e971 Unqualified char
|
||||||
* This is to ensure vTaskStepTick() is available when user defined low power mode
|
* This is to ensure vTaskStepTick() is available when user defined low power mode
|
||||||
* implementations require configUSE_TICKLESS_IDLE to be set to a value other than
|
* implementations require configUSE_TICKLESS_IDLE to be set to a value other than
|
||||||
* 1. */
|
* 1. */
|
||||||
// # 3625 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 3629 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*----------------------------------------------------------*/
|
/*----------------------------------------------------------*/
|
||||||
|
|
||||||
BaseType_t xTaskCatchUpTicks( TickType_t xTicksToCatchUp )
|
BaseType_t xTaskCatchUpTicks( TickType_t xTicksToCatchUp )
|
||||||
|
|
@ -12685,7 +12688,7 @@ BaseType_t xTaskCatchUpTicks( TickType_t xTicksToCatchUp )
|
||||||
|
|
||||||
/* Must not be called with the scheduler suspended as the implementation
|
/* Must not be called with the scheduler suspended as the implementation
|
||||||
* relies on xPendedTicks being wound down to 0 in xTaskResumeAll(). */
|
* relies on xPendedTicks being wound down to 0 in xTaskResumeAll(). */
|
||||||
(__builtin_expect(!(uxSchedulerSuspended == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3633, "uxSchedulerSuspended == 0") : (void)0);
|
(__builtin_expect(!(uxSchedulerSuspended == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3637, "uxSchedulerSuspended == 0") : (void)0);
|
||||||
|
|
||||||
/* Use xPendedTicks to mimic xTicksToCatchUp number of ticks occurring when
|
/* Use xPendedTicks to mimic xTicksToCatchUp number of ticks occurring when
|
||||||
* the scheduler is suspended so the ticks are executed in xTaskResumeAll(). */
|
* the scheduler is suspended so the ticks are executed in xTaskResumeAll(). */
|
||||||
|
|
@ -12704,7 +12707,7 @@ BaseType_t xTaskCatchUpTicks( TickType_t xTicksToCatchUp )
|
||||||
TCB_t * pxTCB = xTask;
|
TCB_t * pxTCB = xTask;
|
||||||
BaseType_t xReturn;
|
BaseType_t xReturn;
|
||||||
|
|
||||||
(__builtin_expect(!(pxTCB), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3652, "pxTCB") : (void)0);
|
(__builtin_expect(!(pxTCB), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3656, "pxTCB") : (void)0);
|
||||||
|
|
||||||
vTaskSuspendAll();
|
vTaskSuspendAll();
|
||||||
{
|
{
|
||||||
|
|
@ -12803,7 +12806,7 @@ BaseType_t xTaskIncrementTick( void )
|
||||||
|
|
||||||
if( xConstTickCount == ( TickType_t ) 0U ) /*lint !e774 'if' does not always evaluate to false as it is looking for an overflow. */
|
if( xConstTickCount == ( TickType_t ) 0U ) /*lint !e774 'if' does not always evaluate to false as it is looking for an overflow. */
|
||||||
{
|
{
|
||||||
{ List_t * pxTemp; (__builtin_expect(!(( ( ( ( pxDelayedTaskList )->uxNumberOfItems == ( UBaseType_t ) 0 ) ? ( ( BaseType_t ) 1 ) : ( ( BaseType_t ) 0 ) ) )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3751, "( ( ( ( pxDelayedTaskList )->uxNumberOfItems == ( UBaseType_t ) 0 ) ? ( ( BaseType_t ) 1 ) : ( ( BaseType_t ) 0 ) ) )") : (void)0); pxTemp = pxDelayedTaskList; pxDelayedTaskList = pxOverflowDelayedTaskList; pxOverflowDelayedTaskList = pxTemp; xNumOfOverflows++; prvResetNextTaskUnblockTime(); };
|
{ List_t * pxTemp; (__builtin_expect(!(( ( ( ( pxDelayedTaskList )->uxNumberOfItems == ( UBaseType_t ) 0 ) ? ( ( BaseType_t ) 1 ) : ( ( BaseType_t ) 0 ) ) )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3755, "( ( ( ( pxDelayedTaskList )->uxNumberOfItems == ( UBaseType_t ) 0 ) ? ( ( BaseType_t ) 1 ) : ( ( BaseType_t ) 0 ) ) )") : (void)0); pxTemp = pxDelayedTaskList; pxDelayedTaskList = pxOverflowDelayedTaskList; pxOverflowDelayedTaskList = pxTemp; xNumOfOverflows++; prvResetNextTaskUnblockTime(); };
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -12986,13 +12989,13 @@ BaseType_t xTaskIncrementTick( void )
|
||||||
return xSwitchRequired;
|
return xSwitchRequired;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 3963 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 3967 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 3987 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 3991 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 4012 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4016 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 4045 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4049 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
void vTaskSwitchContext( BaseType_t xCoreID )
|
void vTaskSwitchContext( BaseType_t xCoreID )
|
||||||
|
|
@ -13010,7 +13013,7 @@ void vTaskSwitchContext( BaseType_t xCoreID )
|
||||||
{
|
{
|
||||||
/* vTaskSwitchContext() must never be called from within a critical section.
|
/* vTaskSwitchContext() must never be called from within a critical section.
|
||||||
* This is not necessarily true for vanilla FreeRTOS, but it is for this SMP port. */
|
* This is not necessarily true for vanilla FreeRTOS, but it is for this SMP port. */
|
||||||
(__builtin_expect(!(xTaskGetCurrentTaskHandle()->uxCriticalNesting == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4062, "xTaskGetCurrentTaskHandle()->uxCriticalNesting == 0") : (void)0);
|
(__builtin_expect(!(xTaskGetCurrentTaskHandle()->uxCriticalNesting == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4066, "xTaskGetCurrentTaskHandle()->uxCriticalNesting == 0") : (void)0);
|
||||||
|
|
||||||
if( uxSchedulerSuspended != ( UBaseType_t ) ( ( BaseType_t ) 0 ) )
|
if( uxSchedulerSuspended != ( UBaseType_t ) ( ( BaseType_t ) 0 ) )
|
||||||
{
|
{
|
||||||
|
|
@ -13022,7 +13025,7 @@ void vTaskSwitchContext( BaseType_t xCoreID )
|
||||||
{
|
{
|
||||||
xYieldPendings[ xCoreID ] = ( ( BaseType_t ) 0 );
|
xYieldPendings[ xCoreID ] = ( ( BaseType_t ) 0 );
|
||||||
;
|
;
|
||||||
// # 4103 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4107 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/* Check for stack overflow, if configured. */
|
/* Check for stack overflow, if configured. */
|
||||||
{ const uint32_t * const pulStack = ( uint32_t * ) xTaskGetCurrentTaskHandle()->pxStack; const uint32_t ulCheckValue = ( uint32_t ) 0xa5a5a5a5; if( ( pulStack[ 0 ] != ulCheckValue ) || ( pulStack[ 1 ] != ulCheckValue ) || ( pulStack[ 2 ] != ulCheckValue ) || ( pulStack[ 3 ] != ulCheckValue ) ) { vApplicationStackOverflowHook( ( TaskHandle_t ) xTaskGetCurrentTaskHandle(), xTaskGetCurrentTaskHandle()->pcTaskName ); } };
|
{ const uint32_t * const pulStack = ( uint32_t * ) xTaskGetCurrentTaskHandle()->pxStack; const uint32_t ulCheckValue = ( uint32_t ) 0xa5a5a5a5; if( ( pulStack[ 0 ] != ulCheckValue ) || ( pulStack[ 1 ] != ulCheckValue ) || ( pulStack[ 2 ] != ulCheckValue ) || ( pulStack[ 3 ] != ulCheckValue ) ) { vApplicationStackOverflowHook( ( TaskHandle_t ) xTaskGetCurrentTaskHandle(), xTaskGetCurrentTaskHandle()->pcTaskName ); } };
|
||||||
|
|
||||||
|
|
@ -13039,7 +13042,7 @@ void vTaskSwitchContext( BaseType_t xCoreID )
|
||||||
;
|
;
|
||||||
|
|
||||||
/* After the new task is switched in, update the global errno. */
|
/* After the new task is switched in, update the global errno. */
|
||||||
// # 4137 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4141 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
vPortRecursiveLock(0, spin_lock_instance(14), ( ( BaseType_t ) 0 ));
|
vPortRecursiveLock(0, spin_lock_instance(14), ( ( BaseType_t ) 0 ));
|
||||||
|
|
@ -13050,7 +13053,7 @@ void vTaskSwitchContext( BaseType_t xCoreID )
|
||||||
void vTaskPlaceOnEventList( List_t * const pxEventList,
|
void vTaskPlaceOnEventList( List_t * const pxEventList,
|
||||||
const TickType_t xTicksToWait )
|
const TickType_t xTicksToWait )
|
||||||
{
|
{
|
||||||
(__builtin_expect(!(pxEventList), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4147, "pxEventList") : (void)0);
|
(__builtin_expect(!(pxEventList), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4151, "pxEventList") : (void)0);
|
||||||
|
|
||||||
/* THIS FUNCTION MUST BE CALLED WITH EITHER INTERRUPTS DISABLED OR THE
|
/* THIS FUNCTION MUST BE CALLED WITH EITHER INTERRUPTS DISABLED OR THE
|
||||||
* SCHEDULER SUSPENDED AND THE QUEUE BEING ACCESSED LOCKED. */
|
* SCHEDULER SUSPENDED AND THE QUEUE BEING ACCESSED LOCKED. */
|
||||||
|
|
@ -13069,11 +13072,11 @@ void vTaskPlaceOnUnorderedEventList( List_t * pxEventList,
|
||||||
const TickType_t xItemValue,
|
const TickType_t xItemValue,
|
||||||
const TickType_t xTicksToWait )
|
const TickType_t xTicksToWait )
|
||||||
{
|
{
|
||||||
(__builtin_expect(!(pxEventList), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4166, "pxEventList") : (void)0);
|
(__builtin_expect(!(pxEventList), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4170, "pxEventList") : (void)0);
|
||||||
|
|
||||||
/* THIS FUNCTION MUST BE CALLED WITH THE SCHEDULER SUSPENDED. It is used by
|
/* THIS FUNCTION MUST BE CALLED WITH THE SCHEDULER SUSPENDED. It is used by
|
||||||
* the event groups implementation. */
|
* the event groups implementation. */
|
||||||
(__builtin_expect(!(uxSchedulerSuspended != 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4170, "uxSchedulerSuspended != 0") : (void)0);
|
(__builtin_expect(!(uxSchedulerSuspended != 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4174, "uxSchedulerSuspended != 0") : (void)0);
|
||||||
|
|
||||||
/* Store the item value in the event list item. It is safe to access the
|
/* Store the item value in the event list item. It is safe to access the
|
||||||
* event list item here as interrupts won't access the event list item of a
|
* event list item here as interrupts won't access the event list item of a
|
||||||
|
|
@ -13097,7 +13100,7 @@ void vTaskPlaceOnUnorderedEventList( List_t * pxEventList,
|
||||||
TickType_t xTicksToWait,
|
TickType_t xTicksToWait,
|
||||||
const BaseType_t xWaitIndefinitely )
|
const BaseType_t xWaitIndefinitely )
|
||||||
{
|
{
|
||||||
(__builtin_expect(!(pxEventList), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4194, "pxEventList") : (void)0);
|
(__builtin_expect(!(pxEventList), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4198, "pxEventList") : (void)0);
|
||||||
|
|
||||||
/* This function should not be called by application code hence the
|
/* This function should not be called by application code hence the
|
||||||
* 'Restricted' in its name. It is not part of the public API. It is
|
* 'Restricted' in its name. It is not part of the public API. It is
|
||||||
|
|
@ -13145,14 +13148,14 @@ BaseType_t xTaskRemoveFromEventList( const List_t * const pxEventList )
|
||||||
* This function assumes that a check has already been made to ensure that
|
* This function assumes that a check has already been made to ensure that
|
||||||
* pxEventList is not empty. */
|
* pxEventList is not empty. */
|
||||||
pxUnblockedTCB = ( ( &( ( pxEventList )->xListEnd ) )->pxNext->pvOwner ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */
|
pxUnblockedTCB = ( ( &( ( pxEventList )->xListEnd ) )->pxNext->pvOwner ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */
|
||||||
(__builtin_expect(!(pxUnblockedTCB), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4242, "pxUnblockedTCB") : (void)0);
|
(__builtin_expect(!(pxUnblockedTCB), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4246, "pxUnblockedTCB") : (void)0);
|
||||||
( void ) uxListRemove( &( pxUnblockedTCB->xEventListItem ) );
|
( void ) uxListRemove( &( pxUnblockedTCB->xEventListItem ) );
|
||||||
|
|
||||||
if( uxSchedulerSuspended == ( UBaseType_t ) ( ( BaseType_t ) 0 ) )
|
if( uxSchedulerSuspended == ( UBaseType_t ) ( ( BaseType_t ) 0 ) )
|
||||||
{
|
{
|
||||||
( void ) uxListRemove( &( pxUnblockedTCB->xStateListItem ) );
|
( void ) uxListRemove( &( pxUnblockedTCB->xStateListItem ) );
|
||||||
; { if( ( ( pxUnblockedTCB )->uxPriority ) > uxTopReadyPriority ) { uxTopReadyPriority = ( ( pxUnblockedTCB )->uxPriority ); } }; vListInsertEnd( &( pxReadyTasksLists[ ( pxUnblockedTCB )->uxPriority ] ), &( ( pxUnblockedTCB )->xStateListItem ) ); ;
|
; { if( ( ( pxUnblockedTCB )->uxPriority ) > uxTopReadyPriority ) { uxTopReadyPriority = ( ( pxUnblockedTCB )->uxPriority ); } }; vListInsertEnd( &( pxReadyTasksLists[ ( pxUnblockedTCB )->uxPriority ] ), &( ( pxUnblockedTCB )->xStateListItem ) ); ;
|
||||||
// # 4263 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4267 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -13182,7 +13185,7 @@ void vTaskRemoveFromUnorderedEventList( ListItem_t * pxEventListItem,
|
||||||
|
|
||||||
/* THIS FUNCTION MUST BE CALLED WITH THE SCHEDULER SUSPENDED. It is used by
|
/* THIS FUNCTION MUST BE CALLED WITH THE SCHEDULER SUSPENDED. It is used by
|
||||||
* the event flags implementation. */
|
* the event flags implementation. */
|
||||||
(__builtin_expect(!(uxSchedulerSuspended != ( ( BaseType_t ) 0 )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4292, "uxSchedulerSuspended != ( ( BaseType_t ) 0 )") : (void)0);
|
(__builtin_expect(!(uxSchedulerSuspended != ( ( BaseType_t ) 0 )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4296, "uxSchedulerSuspended != ( ( BaseType_t ) 0 )") : (void)0);
|
||||||
|
|
||||||
/* Store the new item value in the event list. */
|
/* Store the new item value in the event list. */
|
||||||
( ( pxEventListItem )->xItemValue = ( xItemValue | 0x80000000UL ) );
|
( ( pxEventListItem )->xItemValue = ( xItemValue | 0x80000000UL ) );
|
||||||
|
|
@ -13190,9 +13193,9 @@ void vTaskRemoveFromUnorderedEventList( ListItem_t * pxEventListItem,
|
||||||
/* Remove the event list form the event flag. Interrupts do not access
|
/* Remove the event list form the event flag. Interrupts do not access
|
||||||
* event flags. */
|
* event flags. */
|
||||||
pxUnblockedTCB = ( ( pxEventListItem )->pvOwner ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */
|
pxUnblockedTCB = ( ( pxEventListItem )->pvOwner ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */
|
||||||
(__builtin_expect(!(pxUnblockedTCB), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4300, "pxUnblockedTCB") : (void)0);
|
(__builtin_expect(!(pxUnblockedTCB), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4304, "pxUnblockedTCB") : (void)0);
|
||||||
( void ) uxListRemove( pxEventListItem );
|
( void ) uxListRemove( pxEventListItem );
|
||||||
// # 4317 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4321 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/* Remove the task from the delayed list and add it to the ready list. The
|
/* Remove the task from the delayed list and add it to the ready list. The
|
||||||
* scheduler is suspended so interrupts will not be accessing the ready
|
* scheduler is suspended so interrupts will not be accessing the ready
|
||||||
* lists. */
|
* lists. */
|
||||||
|
|
@ -13211,7 +13214,7 @@ void vTaskRemoveFromUnorderedEventList( ListItem_t * pxEventListItem,
|
||||||
|
|
||||||
void vTaskSetTimeOutState( TimeOut_t * const pxTimeOut )
|
void vTaskSetTimeOutState( TimeOut_t * const pxTimeOut )
|
||||||
{
|
{
|
||||||
(__builtin_expect(!(pxTimeOut), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4335, "pxTimeOut") : (void)0);
|
(__builtin_expect(!(pxTimeOut), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4339, "pxTimeOut") : (void)0);
|
||||||
vTaskEnterCritical();
|
vTaskEnterCritical();
|
||||||
{
|
{
|
||||||
pxTimeOut->xOverflowCount = xNumOfOverflows;
|
pxTimeOut->xOverflowCount = xNumOfOverflows;
|
||||||
|
|
@ -13234,8 +13237,8 @@ BaseType_t xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut,
|
||||||
{
|
{
|
||||||
BaseType_t xReturn;
|
BaseType_t xReturn;
|
||||||
|
|
||||||
(__builtin_expect(!(pxTimeOut), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4358, "pxTimeOut") : (void)0);
|
(__builtin_expect(!(pxTimeOut), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4362, "pxTimeOut") : (void)0);
|
||||||
(__builtin_expect(!(pxTicksToWait), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4359, "pxTicksToWait") : (void)0);
|
(__builtin_expect(!(pxTicksToWait), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4363, "pxTicksToWait") : (void)0);
|
||||||
|
|
||||||
vTaskEnterCritical();
|
vTaskEnterCritical();
|
||||||
{
|
{
|
||||||
|
|
@ -13357,7 +13360,7 @@ void vTaskMissedYield( void )
|
||||||
*
|
*
|
||||||
* @todo additional conditional compiles to remove this function.
|
* @todo additional conditional compiles to remove this function.
|
||||||
*/
|
*/
|
||||||
// # 4541 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4545 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*
|
/*
|
||||||
* -----------------------------------------------------------
|
* -----------------------------------------------------------
|
||||||
* The Idle task.
|
* The Idle task.
|
||||||
|
|
@ -13387,7 +13390,7 @@ static void prvIdleTask( void * pvParameters )
|
||||||
/* See if any tasks have deleted themselves - if so then the idle task
|
/* See if any tasks have deleted themselves - if so then the idle task
|
||||||
* is responsible for freeing the deleted task's TCB and stack. */
|
* is responsible for freeing the deleted task's TCB and stack. */
|
||||||
prvCheckTasksWaitingTermination();
|
prvCheckTasksWaitingTermination();
|
||||||
// # 4582 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4586 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
{
|
{
|
||||||
/* When using preemption tasks of equal priority will be
|
/* When using preemption tasks of equal priority will be
|
||||||
* timesliced. If a task that is sharing the idle priority is ready
|
* timesliced. If a task that is sharing the idle priority is ready
|
||||||
|
|
@ -13408,16 +13411,16 @@ static void prvIdleTask( void * pvParameters )
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// # 4618 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4622 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/* This conditional compilation should use inequality to 0, not equality
|
/* This conditional compilation should use inequality to 0, not equality
|
||||||
* to 1. This is to ensure portSUPPRESS_TICKS_AND_SLEEP() is called when
|
* to 1. This is to ensure portSUPPRESS_TICKS_AND_SLEEP() is called when
|
||||||
* user defined low power mode implementations require
|
* user defined low power mode implementations require
|
||||||
* configUSE_TICKLESS_IDLE to be set to a value other than 1. */
|
* configUSE_TICKLESS_IDLE to be set to a value other than 1. */
|
||||||
// # 4683 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4687 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 4733 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4737 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -13431,7 +13434,7 @@ static void prvIdleTask( void * pvParameters )
|
||||||
if( xIndex < 5 )
|
if( xIndex < 5 )
|
||||||
{
|
{
|
||||||
pxTCB = ( ( ( xTaskToSet ) == 0 ) ? xTaskGetCurrentTaskHandle() : ( xTaskToSet ) );
|
pxTCB = ( ( ( xTaskToSet ) == 0 ) ? xTaskGetCurrentTaskHandle() : ( xTaskToSet ) );
|
||||||
(__builtin_expect(!(pxTCB != 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4746, "pxTCB != 0") : (void)0);
|
(__builtin_expect(!(pxTCB != 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4750, "pxTCB != 0") : (void)0);
|
||||||
pxTCB->pvThreadLocalStoragePointers[ xIndex ] = pvValue;
|
pxTCB->pvThreadLocalStoragePointers[ xIndex ] = pvValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -13462,7 +13465,7 @@ static void prvIdleTask( void * pvParameters )
|
||||||
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 4793 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4797 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static void prvInitialiseTaskLists( void )
|
static void prvInitialiseTaskLists( void )
|
||||||
|
|
@ -13564,7 +13567,7 @@ static void prvCheckTasksWaitingTermination( void )
|
||||||
{
|
{
|
||||||
pxTaskStatus->uxBasePriority = pxTCB->uxBasePriority;
|
pxTaskStatus->uxBasePriority = pxTCB->uxBasePriority;
|
||||||
}
|
}
|
||||||
// # 4905 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4909 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
{
|
{
|
||||||
pxTaskStatus->ulRunTimeCounter = 0;
|
pxTaskStatus->ulRunTimeCounter = 0;
|
||||||
}
|
}
|
||||||
|
|
@ -13695,7 +13698,7 @@ static void prvCheckTasksWaitingTermination( void )
|
||||||
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 5074 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 5078 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -13752,7 +13755,7 @@ static void prvCheckTasksWaitingTermination( void )
|
||||||
free( (void*) pxTCB->pxStack);
|
free( (void*) pxTCB->pxStack);
|
||||||
free( (void*) pxTCB);
|
free( (void*) pxTCB);
|
||||||
}
|
}
|
||||||
// # 5157 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 5161 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -13957,8 +13960,8 @@ static void prvResetNextTaskUnblockTime( void )
|
||||||
* If the mutex is held by a task then it cannot be given from an
|
* If the mutex is held by a task then it cannot be given from an
|
||||||
* interrupt, and if a mutex is given by the holding task then it must
|
* interrupt, and if a mutex is given by the holding task then it must
|
||||||
* be the running state task. */
|
* be the running state task. */
|
||||||
(__builtin_expect(!(pxTCB == xTaskGetCurrentTaskHandle()), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5361, "pxTCB == xTaskGetCurrentTaskHandle()") : (void)0);
|
(__builtin_expect(!(pxTCB == xTaskGetCurrentTaskHandle()), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5365, "pxTCB == xTaskGetCurrentTaskHandle()") : (void)0);
|
||||||
(__builtin_expect(!(pxTCB->uxMutexesHeld), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5362, "pxTCB->uxMutexesHeld") : (void)0);
|
(__builtin_expect(!(pxTCB->uxMutexesHeld), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5366, "pxTCB->uxMutexesHeld") : (void)0);
|
||||||
( pxTCB->uxMutexesHeld )--;
|
( pxTCB->uxMutexesHeld )--;
|
||||||
|
|
||||||
/* Has the holder of the mutex inherited the priority of another
|
/* Has the holder of the mutex inherited the priority of another
|
||||||
|
|
@ -14044,7 +14047,7 @@ static void prvResetNextTaskUnblockTime( void )
|
||||||
{
|
{
|
||||||
/* If pxMutexHolder is not NULL then the holder must hold at least
|
/* If pxMutexHolder is not NULL then the holder must hold at least
|
||||||
* one mutex. */
|
* one mutex. */
|
||||||
(__builtin_expect(!(pxTCB->uxMutexesHeld), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5448, "pxTCB->uxMutexesHeld") : (void)0);
|
(__builtin_expect(!(pxTCB->uxMutexesHeld), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5452, "pxTCB->uxMutexesHeld") : (void)0);
|
||||||
|
|
||||||
/* Determine the priority to which the priority of the task that
|
/* Determine the priority to which the priority of the task that
|
||||||
* holds the mutex should be set. This will be the greater of the
|
* holds the mutex should be set. This will be the greater of the
|
||||||
|
|
@ -14071,7 +14074,7 @@ static void prvResetNextTaskUnblockTime( void )
|
||||||
/* If a task has timed out because it already holds the
|
/* If a task has timed out because it already holds the
|
||||||
* mutex it was trying to obtain then it cannot of inherited
|
* mutex it was trying to obtain then it cannot of inherited
|
||||||
* its own priority. */
|
* its own priority. */
|
||||||
(__builtin_expect(!(pxTCB != xTaskGetCurrentTaskHandle()), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5475, "pxTCB != xTaskGetCurrentTaskHandle()") : (void)0);
|
(__builtin_expect(!(pxTCB != xTaskGetCurrentTaskHandle()), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5479, "pxTCB != xTaskGetCurrentTaskHandle()") : (void)0);
|
||||||
|
|
||||||
/* Disinherit the priority, remembering the previous
|
/* Disinherit the priority, remembering the previous
|
||||||
* priority to facilitate determining the subject task's
|
* priority to facilitate determining the subject task's
|
||||||
|
|
@ -14202,7 +14205,7 @@ void vTaskYieldWithinAPI( void )
|
||||||
{
|
{
|
||||||
/* If pxCurrentTCB->uxCriticalNesting is zero then this function
|
/* If pxCurrentTCB->uxCriticalNesting is zero then this function
|
||||||
* does not match a previous call to vTaskEnterCritical(). */
|
* does not match a previous call to vTaskEnterCritical(). */
|
||||||
(__builtin_expect(!(xTaskGetCurrentTaskHandle()->uxCriticalNesting > 0U), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5606, "xTaskGetCurrentTaskHandle()->uxCriticalNesting > 0U") : (void)0);
|
(__builtin_expect(!(xTaskGetCurrentTaskHandle()->uxCriticalNesting > 0U), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5610, "xTaskGetCurrentTaskHandle()->uxCriticalNesting > 0U") : (void)0);
|
||||||
|
|
||||||
if( xTaskGetCurrentTaskHandle()->uxCriticalNesting > 0U )
|
if( xTaskGetCurrentTaskHandle()->uxCriticalNesting > 0U )
|
||||||
{
|
{
|
||||||
|
|
@ -14252,11 +14255,11 @@ void vTaskYieldWithinAPI( void )
|
||||||
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 5682 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 5686 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 5788 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 5792 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*----------------------------------------------------------*/
|
/*----------------------------------------------------------*/
|
||||||
// # 5915 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 5919 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
TickType_t uxTaskResetEventItemValue( void )
|
TickType_t uxTaskResetEventItemValue( void )
|
||||||
|
|
@ -14298,7 +14301,7 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
{
|
{
|
||||||
uint32_t ulReturn;
|
uint32_t ulReturn;
|
||||||
|
|
||||||
(__builtin_expect(!(uxIndexToWait < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5956, "uxIndexToWait < 1") : (void)0);
|
(__builtin_expect(!(uxIndexToWait < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5960, "uxIndexToWait < 1") : (void)0);
|
||||||
|
|
||||||
vTaskEnterCritical();
|
vTaskEnterCritical();
|
||||||
{
|
{
|
||||||
|
|
@ -14372,7 +14375,7 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
{
|
{
|
||||||
BaseType_t xReturn;
|
BaseType_t xReturn;
|
||||||
|
|
||||||
(__builtin_expect(!(uxIndexToWait < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6030, "uxIndexToWait < 1") : (void)0);
|
(__builtin_expect(!(uxIndexToWait < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6034, "uxIndexToWait < 1") : (void)0);
|
||||||
|
|
||||||
vTaskEnterCritical();
|
vTaskEnterCritical();
|
||||||
{
|
{
|
||||||
|
|
@ -14460,8 +14463,8 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
BaseType_t xReturn = ( ( ( BaseType_t ) 1 ) );
|
BaseType_t xReturn = ( ( ( BaseType_t ) 1 ) );
|
||||||
uint8_t ucOriginalNotifyState;
|
uint8_t ucOriginalNotifyState;
|
||||||
|
|
||||||
(__builtin_expect(!(uxIndexToNotify < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6118, "uxIndexToNotify < 1") : (void)0);
|
(__builtin_expect(!(uxIndexToNotify < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6122, "uxIndexToNotify < 1") : (void)0);
|
||||||
(__builtin_expect(!(xTaskToNotify), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6119, "xTaskToNotify") : (void)0);
|
(__builtin_expect(!(xTaskToNotify), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6123, "xTaskToNotify") : (void)0);
|
||||||
pxTCB = xTaskToNotify;
|
pxTCB = xTaskToNotify;
|
||||||
|
|
||||||
vTaskEnterCritical();
|
vTaskEnterCritical();
|
||||||
|
|
@ -14514,7 +14517,7 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
/* Should not get here if all enums are handled.
|
/* Should not get here if all enums are handled.
|
||||||
* Artificially force an assert by testing a value the
|
* Artificially force an assert by testing a value the
|
||||||
* compiler can't assume is const. */
|
* compiler can't assume is const. */
|
||||||
(__builtin_expect(!(xTickCount == ( TickType_t ) 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6172, "xTickCount == ( TickType_t ) 0") : (void)0);
|
(__builtin_expect(!(xTickCount == ( TickType_t ) 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6176, "xTickCount == ( TickType_t ) 0") : (void)0);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -14529,8 +14532,8 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
; { if( ( ( pxTCB )->uxPriority ) > uxTopReadyPriority ) { uxTopReadyPriority = ( ( pxTCB )->uxPriority ); } }; vListInsertEnd( &( pxReadyTasksLists[ ( pxTCB )->uxPriority ] ), &( ( pxTCB )->xStateListItem ) ); ;
|
; { if( ( ( pxTCB )->uxPriority ) > uxTopReadyPriority ) { uxTopReadyPriority = ( ( pxTCB )->uxPriority ); } }; vListInsertEnd( &( pxReadyTasksLists[ ( pxTCB )->uxPriority ] ), &( ( pxTCB )->xStateListItem ) ); ;
|
||||||
|
|
||||||
/* The task should not have been on an event list. */
|
/* The task should not have been on an event list. */
|
||||||
(__builtin_expect(!(( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6187, "( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0") : (void)0);
|
(__builtin_expect(!(( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6191, "( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0") : (void)0);
|
||||||
// # 6206 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 6210 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
{
|
{
|
||||||
prvYieldForTask( pxTCB, ( ( BaseType_t ) 0 ) );
|
prvYieldForTask( pxTCB, ( ( BaseType_t ) 0 ) );
|
||||||
}
|
}
|
||||||
|
|
@ -14563,8 +14566,8 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
BaseType_t xReturn = ( ( ( BaseType_t ) 1 ) );
|
BaseType_t xReturn = ( ( ( BaseType_t ) 1 ) );
|
||||||
UBaseType_t uxSavedInterruptStatus;
|
UBaseType_t uxSavedInterruptStatus;
|
||||||
|
|
||||||
(__builtin_expect(!(xTaskToNotify), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6238, "xTaskToNotify") : (void)0);
|
(__builtin_expect(!(xTaskToNotify), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6242, "xTaskToNotify") : (void)0);
|
||||||
(__builtin_expect(!(uxIndexToNotify < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6239, "uxIndexToNotify < 1") : (void)0);
|
(__builtin_expect(!(uxIndexToNotify < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6243, "uxIndexToNotify < 1") : (void)0);
|
||||||
|
|
||||||
/* RTOS ports that support interrupt nesting have the concept of a
|
/* RTOS ports that support interrupt nesting have the concept of a
|
||||||
* maximum system call (or maximum API call) interrupt priority.
|
* maximum system call (or maximum API call) interrupt priority.
|
||||||
|
|
@ -14635,7 +14638,7 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
/* Should not get here if all enums are handled.
|
/* Should not get here if all enums are handled.
|
||||||
* Artificially force an assert by testing a value the
|
* Artificially force an assert by testing a value the
|
||||||
* compiler can't assume is const. */
|
* compiler can't assume is const. */
|
||||||
(__builtin_expect(!(xTickCount == ( TickType_t ) 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6310, "xTickCount == ( TickType_t ) 0") : (void)0);
|
(__builtin_expect(!(xTickCount == ( TickType_t ) 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6314, "xTickCount == ( TickType_t ) 0") : (void)0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -14646,7 +14649,7 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
if( ucOriginalNotifyState == ( ( uint8_t ) 1 ) )
|
if( ucOriginalNotifyState == ( ( uint8_t ) 1 ) )
|
||||||
{
|
{
|
||||||
/* The task should not have been on an event list. */
|
/* The task should not have been on an event list. */
|
||||||
(__builtin_expect(!(( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6321, "( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0") : (void)0);
|
(__builtin_expect(!(( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6325, "( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0") : (void)0);
|
||||||
|
|
||||||
if( uxSchedulerSuspended == ( UBaseType_t ) ( ( BaseType_t ) 0 ) )
|
if( uxSchedulerSuspended == ( UBaseType_t ) ( ( BaseType_t ) 0 ) )
|
||||||
{
|
{
|
||||||
|
|
@ -14691,8 +14694,8 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
uint8_t ucOriginalNotifyState;
|
uint8_t ucOriginalNotifyState;
|
||||||
UBaseType_t uxSavedInterruptStatus;
|
UBaseType_t uxSavedInterruptStatus;
|
||||||
|
|
||||||
(__builtin_expect(!(xTaskToNotify), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6366, "xTaskToNotify") : (void)0);
|
(__builtin_expect(!(xTaskToNotify), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6370, "xTaskToNotify") : (void)0);
|
||||||
(__builtin_expect(!(uxIndexToNotify < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6367, "uxIndexToNotify < 1") : (void)0);
|
(__builtin_expect(!(uxIndexToNotify < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6371, "uxIndexToNotify < 1") : (void)0);
|
||||||
|
|
||||||
/* RTOS ports that support interrupt nesting have the concept of a
|
/* RTOS ports that support interrupt nesting have the concept of a
|
||||||
* maximum system call (or maximum API call) interrupt priority.
|
* maximum system call (or maximum API call) interrupt priority.
|
||||||
|
|
@ -14730,7 +14733,7 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
if( ucOriginalNotifyState == ( ( uint8_t ) 1 ) )
|
if( ucOriginalNotifyState == ( ( uint8_t ) 1 ) )
|
||||||
{
|
{
|
||||||
/* The task should not have been on an event list. */
|
/* The task should not have been on an event list. */
|
||||||
(__builtin_expect(!(( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6405, "( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0") : (void)0);
|
(__builtin_expect(!(( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6409, "( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0") : (void)0);
|
||||||
|
|
||||||
if( uxSchedulerSuspended == ( UBaseType_t ) ( ( BaseType_t ) 0 ) )
|
if( uxSchedulerSuspended == ( UBaseType_t ) ( ( BaseType_t ) 0 ) )
|
||||||
{
|
{
|
||||||
|
|
@ -14771,7 +14774,7 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
TCB_t * pxTCB;
|
TCB_t * pxTCB;
|
||||||
BaseType_t xReturn;
|
BaseType_t xReturn;
|
||||||
|
|
||||||
(__builtin_expect(!(uxIndexToClear < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6446, "uxIndexToClear < 1") : (void)0);
|
(__builtin_expect(!(uxIndexToClear < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6450, "uxIndexToClear < 1") : (void)0);
|
||||||
|
|
||||||
/* If null is passed in here then it is the calling task that is having
|
/* If null is passed in here then it is the calling task that is having
|
||||||
* its notification state cleared. */
|
* its notification state cleared. */
|
||||||
|
|
@ -14824,7 +14827,7 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 6515 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 6519 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static void prvAddCurrentTaskToDelayedList( TickType_t xTicksToWait,
|
static void prvAddCurrentTaskToDelayedList( TickType_t xTicksToWait,
|
||||||
|
|
@ -14900,7 +14903,7 @@ static void prvAddCurrentTaskToDelayedList( TickType_t xTicksToWait,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// # 6627 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 6631 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Code below here allows additional code to be inserted into this source file,
|
/* Code below here allows additional code to be inserted into this source file,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue