vTaskSetApplicationTaskTag()
I was looking at the example on vTaskSetApplicationTaskTag() in the FreeRTOS reference manual and I have a question about the last line in that example (Listing 42):
#define traceTASK_SWITCHED_OUT() xTaskCAllApplicationTaskHook( pxCurrentTCB, 0)
This #define, as I understand it, globally enables all tasks to run their defined registered callbacks. Am I correct? If so, what about tasks that do not define a callback? Does the kernel ‘ignore’ calling the task-hooks of those asks that do not define the hook callbacks or does it force all tasks to define the hook-callbacks?
vTaskSetApplicationTaskTag()
If pxCurrentTCB does not have a tag defined then xTaskCallApplicationTaskHook() will return pdFAIL. It is safe.