Hi,

I think this line will cause troubles when the timer wraps around its limit:

http://www.rts.uni-hannover.de/rtai/lxr/source/skins/rtai/task.c?v=cvs-4.x-fusion#L919

The posix skin handles absolute to relative timeout conversions differently. It simply substracts (unsigned) the current time from abstimeout.

When fixing this, note that the detection of recently passed timeouts will no longer work. Or you have to define a period after the scheduled timeout during that a call of rt_task_sleep_until shall return ETIMEDOUT.

Maybe other functions of the native suffer from the same issue, I did not check yet.

Jan


PS: I hate thinking about timeouts - it always causes headaches for me...

Reply via email to