本帖最后由 xieyuanfu 于 2015-8-3 12:45 编辑
在uip 代码中的uip_timer.c中有这个代码
int
timer_expired(struct timer *t)
{
return (clock_time_t)(clock_time() - t->start) >= (clock_time_t)t->interval;
}
然后每次调用用timer_expired这个函数后 都相对应的调用一次下面这个函数来重新进行时间间隔计算
void
timer_reset(struct timer *t)
{
t->start += t->interval;
}
因为t->interval 时间间隔 初始化的时候 给的都是正直的。 会不会出现以下这种情况clock_time() - t->start 一直都是小于0的数呢?用过uip的人 应该明白我说的是什么吧?
表达不是很好
|