This commit is contained in:
aozhiwei 2023-10-19 22:25:10 +08:00
parent 30fc9dcc0a
commit 90f5d9f291

View File

@ -124,24 +124,19 @@ impl Timer {
}
fn clear(&mut self) {
let free_timer = |tv: &mut [TimerListListHeadRp]| {
for i in 0..tv.len() {
let head = &tv[i];
while !head.borrow().empty() {
let timer = &head.borrow().first_entry().upgrade().unwrap();
timer.borrow_mut().timer_entry.borrow_mut().del_init();
if timer.borrow().attach_entry.borrow().empty() {
timer.borrow().attach_entry.borrow_mut().del_init();
}
let free_timer = |head: &mut TimerListListHeadRp| {
while !head.borrow().empty() {
let timer = &head.borrow().first_entry().upgrade().unwrap();
timer.borrow_mut().timer_entry.borrow_mut().del_init();
if timer.borrow().attach_entry.borrow().empty() {
timer.borrow().attach_entry.borrow_mut().del_init();
}
}
};
//free_timer(&mut self.free_timer_list);
free_timer(&mut self.tv1);
free_timer(&mut self.tv2);
free_timer(&mut self.tv3);
free_timer(&mut self.tv4);
free_timer(&mut self.tv5);
self.traverse_timer_list(
&mut |timer_list: &mut TimerListListHeadRp| {
free_timer(timer_list);
});
}
fn new_timer_list(&mut self) -> Rc::<RefCell::<TimerList>> {