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

Reply via email to