diff options
author | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2014-12-01 10:29:36 +0000 |
---|---|---|
committer | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2014-12-01 10:29:36 +0000 |
commit | c7da76627c4c5479ed91bd6709e17abc22691b84 (patch) | |
tree | 9c04a05b9cb2900de8428e08bea6e179436956c1 /os/rt/src | |
parent | 5b59f89d98bc8d4ae1a7269ab1e09a6d8f649d2f (diff) | |
download | ChibiOS-c7da76627c4c5479ed91bd6709e17abc22691b84.tar.gz ChibiOS-c7da76627c4c5479ed91bd6709e17abc22691b84.tar.bz2 ChibiOS-c7da76627c4c5479ed91bd6709e17abc22691b84.zip |
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7551 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/rt/src')
-rw-r--r-- | os/rt/src/chvt.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/os/rt/src/chvt.c b/os/rt/src/chvt.c index 4fd154e57..de33e7b9c 100644 --- a/os/rt/src/chvt.c +++ b/os/rt/src/chvt.c @@ -180,9 +180,14 @@ void chVTDoResetI(virtual_timer_t *vtp) { port_timer_stop_alarm();
}
else {
- /* The alarm is set to the next element in the delta list.*/
- port_timer_set_alarm(ch.vtlist.vt_lasttime +
- ch.vtlist.vt_next->vt_delta);
+ /* Updating the alarm to the next deadline, deadline that must not be
+ closer in time than the minimum time delta.*/
+ if (ch.vtlist.vt_next->vt_delta >= CH_CFG_ST_TIMEDELTA)
+ port_timer_set_alarm(ch.vtlist.vt_lasttime +
+ ch.vtlist.vt_next->vt_delta);
+ else
+ port_timer_set_alarm(ch.vtlist.vt_lasttime +
+ CH_CFG_ST_TIMEDELTA);
}
}
#endif /* CH_CFG_ST_TIMEDELTA > 0 */
|