Thanks Phillppe. You are right, I did call rt_task_set_period()before rt_task_wait_period(), but it failed and I was too lazy to check rt_task_set_period()'s return value.
________________________________ From: Philippe Gerum <[email protected]> To: Tom Z <[email protected]> Cc: "[email protected]" <[email protected]> Sent: Tuesday, 23 April 2013 11:03 AM Subject: Re: [Xenomai] rt_task_wait_period returns -11 (-EAGAIN) On 04/23/2013 06:00 PM, Tom Z wrote: > Hi, > > It seems this problem didn't occur before, but yesterday when I ran the same > program on the same platform, a statement in my program calling > rt_task_wait_period() returns -11. I looked up the error code, and 11 is the > value of EAGAIN defined in <LINUX INCLUDE>/asm-generic/error_base.h. So I > tried to modify my code like this > > unsigned long overrun; > > ret = -EAGAIN > while(-EAGAIN == ret) > ret = rt_task_wait_period( &overrun); > > > But it keeps spinning and throws an error in the end: CPU time exceeded. > > > > What would be the possible cause? My platform is a Core 2 Duo laptop with > Xenomai 2.6.2.1 on Linux 3.5.7. > Check the doc for EWOULDBLOCK. rt_task_set_periodic() was not called for the task. -- Philippe. _______________________________________________ Xenomai mailing list [email protected] http://www.xenomai.org/mailman/listinfo/xenomai
