From: janhauer Date: Wed, 5 Mar 2008 18:40:17 +0000 (+0000) Subject: Bugfix for a bug in the timer system that was first reported here: X-Git-Tag: release_tinyos_2_1_0_0~490 X-Git-Url: https://oss.titaniummirror.com/gitweb/?p=tinyos-2.x.git;a=commitdiff_plain;h=b7627ebe86e79595dda31d89717c8ab7815ee265 Bugfix for a bug in the timer system that was first reported here: http://sourceforge.net/tracker/index.php?func=detail&aid=1572439&group_id=28656&atid=393934 It showed up when you used two Timer interfaces (e.g. provided by two TimerMilliC() instances) and Timer2.startOneShot() was called withinTimer1.fired() and in addition (1) Timer2 had a higher internal interface ID (unique(UQ_TIMER_MILLI)) than Timer1 and (2) there was some (small) amount of time elapsed before the Timer2.startOneShot() was called in the fired eventhandler. Then, Timer2.fired() was signalled immediately independent of the "dt" parameter in startOneShot(uint32_t dt). This has been fixed now. For more information see: http://mail.millennium.berkeley.edu/pipermail/tinyos-devel/2008-March/002573.html --- diff --git a/tos/lib/timer/VirtualizeTimerC.nc b/tos/lib/timer/VirtualizeTimerC.nc index 3c26c371..4aa7c222 100644 --- a/tos/lib/timer/VirtualizeTimerC.nc +++ b/tos/lib/timer/VirtualizeTimerC.nc @@ -79,6 +79,7 @@ implementation timer->t0 += timer->dt; signal Timer.fired[num](); + break; } } }