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
timer->t0 += timer->dt;
signal Timer.fired[num]();
+ break;
}
}
}