Hi,
In the rt_sched.c file in fuction rtl_schedule u
can find the following code:
for (task = rt_tasks; task; task = task->next)
{
if (task->state == RT_TASK_DELAYED && task->resume_time < now + 10)
{
task->state = RT_TASK_READY; }
}
I understand that all tasks which have been delayed
are now made ready (if their time has expired) each time the scheduler function
is invoked. I don't understand this part a bit. What if the task is delayed coz
it waits on semaphore ? Will it get into critical section ?
cheers
tom |