From 3f5fc14407e9e3eb6366f9383264c62bda9a6ae7 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 25 Oct 2023 21:13:31 +0800 Subject: [PATCH] 1 --- src/timer.rs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/timer.rs b/src/timer.rs index f246698..cc87d16 100644 --- a/src/timer.rs +++ b/src/timer.rs @@ -141,7 +141,7 @@ impl Timer { let free_timer = |head: &TimerListListHeadRp| { while !head.borrow().empty() { let timer = &head.borrow().first_entry().upgrade().unwrap(); - //self.detach_timer(timer); + self.detach_timer(timer); if timer.borrow().attach_entry.borrow().empty() { timer.borrow().attach_entry.borrow_mut().del_init(); } @@ -324,6 +324,18 @@ impl Timer { self.running_timer = Weak::new(); } self.detach_timer(&*v); + match &mut v.borrow_mut().cb { + Some(cb) => { + if is_destory { + (*cb)(TimerEvent::Destory, None); + } else { + (*cb)(TimerEvent::Delete, None); + } + v.borrow_mut().cb = None; + } + None => { + } + } } None => { }