FreeRTOS List

sindhukrishna wrote on Tuesday, February 17, 2015:

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 !

davedoors wrote on Tuesday, February 17, 2015:

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.

sindhukrishna wrote on Thursday, February 19, 2015:

Thank you Dave.

What is Generic List and Event List?

rtel wrote on Thursday, February 19, 2015:

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.