pxCurrentTCB is only used within FreeRTOS.
 
Symbols
loading...
Files
loading...

pxCurrentTCB variable

Syntax

PRIVILEGED_DATA TCB_t * volatile pxCurrentTCB = NULL;

References

LocationReferrerText
tasks.c:337
PRIVILEGED_DATA TCB_t * volatile pxCurrentTCB = NULL;
tasks.c:1084prvAddNewTaskToReadyList()
if( pxCurrentTCB == NULL )
tasks.c:1088prvAddNewTaskToReadyList()
pxCurrentTCB = pxNewTCB;
tasks.c:1109prvAddNewTaskToReadyList()
if( pxCurrentTCB->uxPriority <= pxNewTCB->uxPriority )
tasks.c:1111prvAddNewTaskToReadyList()
pxCurrentTCB = pxNewTCB;
tasks.c:1144prvAddNewTaskToReadyList()
if( pxCurrentTCB->uxPriority < pxNewTCB->uxPriority )
tasks.c:1170vTaskDelete()
tasks.c:1198vTaskDelete()
if( pxTCB == pxCurrentTCB )
tasks.c:1240vTaskDelete()
if( pxTCB == pxCurrentTCB )
tasks.c:1394eTaskGetState()
if( pxTCB == pxCurrentTCB )
tasks.c:1487uxTaskPriorityGet()
tasks.c:1527uxTaskPriorityGetFromISR()
tasks.c:1562vTaskPrioritySet()
tasks.c:1582vTaskPrioritySet()
if( pxTCB != pxCurrentTCB )
tasks.c:1587vTaskPrioritySet()
if( uxNewPriority >= pxCurrentTCB->uxPriority )
tasks.c:1603vTaskPrioritySet()
else if( pxTCB == pxCurrentTCB )
tasks.c:1712vTaskSuspend()
tasks.c:1767vTaskSuspend()
if( pxTCB == pxCurrentTCB )
tasks.c:1786vTaskSuspend()
pxCurrentTCB = NULL;
tasks.c:1860vTaskResume()
if( ( pxTCB != pxCurrentTCB ) && ( pxTCB != NULL ) )
tasks.c:1874vTaskResume()
if( pxTCB->uxPriority >= pxCurrentTCB->uxPriority )
tasks.c:1942xTaskResumeFromISR()
if( pxTCB->uxPriority >= pxCurrentTCB->uxPriority )
tasks.c:2071vTaskStartScheduler()
tasks.c:2165prvGetExpectedIdleTime()
if( pxCurrentTCB->uxPriority > tskIDLE_PRIORITY )
tasks.c:2227xTaskResumeAll()
if( pxTCB->uxPriority >= pxCurrentTCB->uxPriority )
tasks.c:2364pcTaskGetName()
tasks.c:2681xTaskAbortDelay()
if( pxTCB->uxPriority > pxCurrentTCB->uxPriority )
tasks.c:2804xTaskIncrementTick()
if( pxTCB->uxPriority >= pxCurrentTCB->uxPriority )
tasks.c:2823xTaskIncrementTick()
if( listCURRENT_LIST_LENGTH( &( pxReadyTasksLists[ pxCurrentTCB->uxPriority ] ) ) > ( UBaseType_t ) 1 )
tasks.c:2889vTaskSetApplicationTaskTag()
xTCB = ( TCB_t * ) pxCurrentTCB;
tasks.c:2916xTaskGetApplicationTaskTag()
pxTCB = prvGetTCBFromHandle( xTask );
tasks.c:2941xTaskGetApplicationTaskTagFromISR()
pxTCB = prvGetTCBFromHandle( xTask );
tasks.c:2967xTaskCallApplicationTaskHook()
xTCB = pxCurrentTCB;
tasks.c:3000vTaskSwitchContext()
tasks.c:3019vTaskSwitchContext()
pxCurrentTCB->ulRunTimeCounter += ( ulTotalRunTime - ulTaskSwitchedInTime );
tasks.c:3030vTaskSwitchContext()
tasks.c:3041vTaskSwitchContext()
taskSELECT_HIGHEST_PRIORITY_TASK(); /*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. */
tasks.c:3042vTaskSwitchContext()
tasks.c:3075vTaskPlaceOnEventList()
vListInsert( pxEventList, &( pxCurrentTCB->xEventListItem ) );
tasks.c:3092vTaskPlaceOnUnorderedEventList()
tasks.c:3099vTaskPlaceOnUnorderedEventList()
vListInsertEnd( pxEventList, &( pxCurrentTCB->xEventListItem ) );
tasks.c:3121vTaskPlaceOnEventListRestricted()
vListInsertEnd( pxEventList, &( pxCurrentTCB->xEventListItem ) );
tasks.c:3186xTaskRemoveFromEventList()
if( pxUnblockedTCB->uxPriority > pxCurrentTCB->uxPriority )
tasks.c:3243vTaskRemoveFromUnorderedEventList()
if( pxUnblockedTCB->uxPriority > pxCurrentTCB->uxPriority )
tasks.c:3288xTaskCheckForTimeOut()
if( pxCurrentTCB->ucDelayAborted != ( uint8_t ) pdFALSE )
tasks.c:3292xTaskCheckForTimeOut()
pxCurrentTCB->ucDelayAborted = pdFALSE;
tasks.c:3599vTaskAllocateMPURegions()
pxTCB = prvGetTCBFromHandle( xTaskToModify );
tasks.c:3675vTaskGetInfo()
tasks.c:3708vTaskGetInfo()
if( pxTCB == pxCurrentTCB )
tasks.c:3865uxTaskGetStackHighWaterMark()
pxTCB = prvGetTCBFromHandle( xTask );
tasks.c:3976xTaskGetCurrentTaskHandle()
xReturn = pxCurrentTCB;
tasks.c:4027xTaskPriorityInherit()
if( pxMutexHolderTCB->uxPriority < pxCurrentTCB->uxPriority )
tasks.c:4034xTaskPriorityInherit()
listSET_LIST_ITEM_VALUE( &( pxMutexHolderTCB->xEventListItem ), ( TickType_t ) configMAX_PRIORITIES - ( TickType_t ) pxCurrentTCB->uxPriority ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */
tasks.c:4058xTaskPriorityInherit()
pxMutexHolderTCB->uxPriority = pxCurrentTCB->uxPriority;
tasks.c:4064xTaskPriorityInherit()
pxMutexHolderTCB->uxPriority = pxCurrentTCB->uxPriority;
tasks.c:4074xTaskPriorityInherit()
if( pxMutexHolderTCB->uxBasePriority < pxCurrentTCB->uxPriority )
tasks.c:4115xTaskPriorityDisinherit()
configASSERT( pxTCB == pxCurrentTCB );
tasks.c:4221vTaskPriorityDisinheritAfterTimeout()
configASSERT( pxTCB != pxCurrentTCB );
tasks.c:4606uxTaskResetEventItemValue()
uxReturn = listGET_LIST_ITEM_VALUE( &( pxCurrentTCB->xEventListItem ) );
tasks.c:4610uxTaskResetEventItemValue()
listSET_LIST_ITEM_VALUE( &( pxCurrentTCB->xEventListItem ), ( ( TickType_t ) configMAX_PRIORITIES - ( TickType_t ) pxCurrentTCB->uxPriority ) ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */
tasks.c:4622pvTaskIncrementMutexHeldCount()
if( pxCurrentTCB != NULL )
tasks.c:4624pvTaskIncrementMutexHeldCount()
( pxCurrentTCB->uxMutexesHeld )++;
tasks.c:4627pvTaskIncrementMutexHeldCount()
return pxCurrentTCB;
tasks.c:4642ulTaskNotifyTake()
if( pxCurrentTCB->ulNotifiedValue == 0UL )
tasks.c:4645ulTaskNotifyTake()
tasks.c:4673ulTaskNotifyTake()
ulReturn = pxCurrentTCB->ulNotifiedValue;
tasks.c:4679ulTaskNotifyTake()
pxCurrentTCB->ulNotifiedValue = 0UL;
tasks.c:4683ulTaskNotifyTake()
pxCurrentTCB->ulNotifiedValue = ulReturn - ( uint32_t ) 1;
tasks.c:4691ulTaskNotifyTake()
tasks.c:4710xTaskNotifyWait()
tasks.c:4715xTaskNotifyWait()
tasks.c:4718xTaskNotifyWait()
tasks.c:4751xTaskNotifyWait()
tasks.c:4758xTaskNotifyWait()
tasks.c:4767xTaskNotifyWait()
tasks.c:4771xTaskNotifyWait()
tasks.c:4871xTaskGenericNotify()
if( pxTCB->uxPriority > pxCurrentTCB->uxPriority )
tasks.c:4996xTaskGenericNotifyFromISR()
if( pxTCB->uxPriority > pxCurrentTCB->uxPriority )
tasks.c:5084vTaskNotifyGiveFromISR()
if( pxTCB->uxPriority > pxCurrentTCB->uxPriority )
tasks.c:5119xTaskNotifyStateClear()
tasks.c:5150ulTaskNotifyValueClear()
tasks.c:5156ulTaskNotifyValueClear()
ulReturn = pxCurrentTCB->ulNotifiedValue;
tasks.c:5187prvAddCurrentTaskToDelayedList()
pxCurrentTCB->ucDelayAborted = pdFALSE;
tasks.c:5193prvAddCurrentTaskToDelayedList()
if( uxListRemove( &( pxCurrentTCB->xStateListItem ) ) == ( UBaseType_t ) 0 )
tasks.c:5197prvAddCurrentTaskToDelayedList()
portRESET_READY_PRIORITY( pxCurrentTCB->uxPriority, uxTopReadyPriority ); /*lint !e931 pxCurrentTCB cannot change as it is the calling task. pxCurrentTCB->uxPriority and uxTopReadyPriority cannot change as called with scheduler suspended or in a critical section. */
tasks.c:5211prvAddCurrentTaskToDelayedList()
tasks.c:5221prvAddCurrentTaskToDelayedList()
listSET_LIST_ITEM_VALUE( &( pxCurrentTCB->xStateListItem ), xTimeToWake );
tasks.c:5227prvAddCurrentTaskToDelayedList()
tasks.c:5233prvAddCurrentTaskToDelayedList()
tasks.c:5257prvAddCurrentTaskToDelayedList()
listSET_LIST_ITEM_VALUE( &( pxCurrentTCB->xStateListItem ), xTimeToWake );
tasks.c:5262prvAddCurrentTaskToDelayedList()
vListInsert( pxOverflowDelayedTaskList, &( pxCurrentTCB->xStateListItem ) );
tasks.c:5267prvAddCurrentTaskToDelayedList()
vListInsert( pxDelayedTaskList, &( pxCurrentTCB->xStateListItem ) );