daniel sheltraw wrote:
>   while(1){
>     .
>     .
>     .
>     rt_task_wait_period();
>   }
> 
> This snippet is started by first using rt_task_init and
> rt_task_make_periodic in the init_module. The executable is run by
> loading the module. My question is .... How does the above loop
> terminate.... By unloading the module?
> 
Hi,

  yes, in the 'cleanup_module()' function which is called when unloading
the module,
there is normally a call to 'rt_task_delete(&task)' which remove the
task from the
rt_scheduler -> so the task stop but never end.
This task code is removed by unloading the module ( which free all
assiociated code).

The important thing to understand is that the task must never end, cause
it is scheduled by
the rt_scheduler. The 'rt_task_wait_period()' give it the idle state up
to the next period in
rt_scheduler tasks list.( rt_task_resume() and rt_task_make_periodic()
make it running_state,
while rt_task_init() insert it in the rt_scheduler tasks list in idle
state.)

Chris.

--
Kumsta Christophe
Machinery Agrobotic Fruit
<[EMAIL PROTECTED]>
Real-Time image processing developper
RT-Linux/RTAI ( Use the Source Luck !)
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/

Reply via email to