FreeRTOS List

Hello FreeRTOS Team ! I understood that each task state(ready, suspended and blocked) except Running state has List. What is the purpose of Termination List? Please explain the Generic List and Event List. Can you share a Scheduling State Machine including the list structures? Thanks in advance !

FreeRTOS List

When a task is deleted it is placed in the termination list ready for clean up by the idle task. So tasks get added to the termination list when they are deleted, and removed from the termination list when the idle task frees the memory they were using.

FreeRTOS List

Thank you Dave. What is Generic List and Event List?

FreeRTOS List

The generic list item gets used for several things, but would be more usefully named the state list item as the state of the task depends on the list from which it is referenced (for example, if it is referenced from one of the ready lists, then it is in the Ready state). The event list item is used to pend the task on events, so if the task is waiting for data to arrive on a queue its event list is referenced from the queues list of tasks waiting to receive. Regards.