rtems_task_wake_after(0)

Eric Norum wenorum at lbl.gov
Tue Jan 29 19:02:31 UTC 2013


rtems_task_wake_after(0) is essentially a yield() operation -- other tasks  at the same priority level are given a chance to run.
There are the required checks, locks and code to ensure that rtems_task_wake_after(0) can't turn into rtems_task_wake_after(A_REALLY_LONG_TIME).  Or at least there are on a properly written CPU support module….

On Jan 29, 2013, at 10:39 AM, Andrei Chichak <groups at chichak.ca> wrote:

> Can anybody give me an idea as to what rtems_task_wake_after will do with a parameter of 0? I expect that the caller will just be marked ready and start running when it should.
> 
> If I get a timer tick in the middle of the call, at that point known as "the worst possible time", is it possible that the underlying delay suddenly underflow and become -1, or 2**32 since it is unsigned, and cause a huge delay rather than a little one?
> 
> Thanks,
> Andrei
> (it's -28C and the wind is blowing, yay)
> ---------------------
> Andrei Chichak
> 
> Systems Developer
> CBF Systems Inc.
> 4-038 NINT INNOVATION CENTRE
> 11421 SASKATCHEWAN DRIVE
> EDMONTON, ALBERTA
> T6G 2M9
> CANADA
> 
> Phone: 780-628-2072
> Skype: andrei.chichak
> 
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> rtems-users mailing list
> rtems-users at rtems.org
> http://www.rtems.org/mailman/listinfo/rtems-users

-- 
Eric Norum
wenorum at lbl.gov





More information about the users mailing list