diff --git a/src/xtimer.rs b/src/xtimer.rs index c96c0a3..bcbf096 100644 --- a/src/xtimer.rs +++ b/src/xtimer.rs @@ -276,27 +276,29 @@ impl XTimer { } } } - let running_timer = this.borrow().running_timer.clone(); - match running_timer.upgrade() { - Some(v) => { - let timer_wp = Rc::downgrade(&v.borrow().wp.clone().unwrap()); - let timer_type = v.borrow().timer_type.clone(); - let expire_time = v.borrow().expire_time; - match timer_type { - TimerType::Timeout => { - this.borrow_mut().internal_delete - (Rc::downgrade(&v.borrow().wp.clone().unwrap()), - false); - } - TimerType::Interval => { - this.borrow_mut().internal_modify( - timer_wp, - expire_time - ); + { + let running_timer = this.borrow().running_timer.clone(); + match running_timer.upgrade() { + Some(v) => { + let timer_wp = Rc::downgrade(&v.borrow().wp.as_ref().unwrap()); + let timer_type = v.borrow().timer_type.clone(); + let expire_time = v.borrow().expire_time; + match timer_type { + TimerType::Timeout => { + this.borrow_mut().internal_delete + (timer_wp, + false); + } + TimerType::Interval => { + this.borrow_mut().internal_modify( + timer_wp, + expire_time + ); + } } } - } - None => { + None => { + } } } }