timer server fire when with time adjust

Sergio Faustino sergio.faustino at edisoft.pt
Mon Jun 8 14:08:04 UTC 2009


I've been looking at RTEMS for some time and now I have a doubt regarding
the time management in RTEMS.

The user manual states that:

"The rtems_clock_set directive allows a task or an ISR to set the date and
time maintained by RTEMS. If setting the date and time causes any
outstanding timers to pass their deadline, then the expired timers will be
fired during the invocation of the rtems_clock_set directive."

From my understanding, this is also applicable to timers fired by the timer

However, when I tested this, this does not appear to be working (on RTEMS 4.8.0).

The test basically consists of creating and firing 3 timers with the
rtems_timer_server_wake_when routine. When a rtems_clock_set is done (to a
forward time) the timers should fire immediatly but, in reality, they fire later on.

The same test with rtems_timer_fire_when (without the timer server) works

I guess this could be an RTEMS bug...

Best Regards,
Sergio Faustino

More information about the users mailing list