diff --git a/src/timer.rs b/src/timer.rs index c2853f9..02f970c 100644 --- a/src/timer.rs +++ b/src/timer.rs @@ -204,8 +204,7 @@ impl Timer { } fn get_timer_index(&self, index : usize) -> usize { - return ((self.timer_tick as usize) >> (TVR_BITS + index * TVN_BITS)) & - TVN_MASK; + return ((self.timer_tick as usize) >> (TVR_BITS + index * TVN_BITS)) & TVN_MASK; } pub fn update(&mut self) { @@ -239,10 +238,11 @@ impl Timer { Some(v) => { match v.borrow().timer_type { TimerType::Timeout => { - //self.internalDelete + self.internal_delete(Rc::downgrade(&v.borrow().wp), false); } TimerType::Interval => { - //self.internalModify + self.modify(Rc::downgrade(&v.borrow().wp), + v.borrow().expire_time); } } } @@ -251,6 +251,7 @@ impl Timer { } } } + self.running_timer = Weak::new(); } fn internal_add(&mut self,