diff --git a/lib/base/timer.cpp b/lib/base/timer.cpp index 4d0938fc0..a87a0d1ed 100644 --- a/lib/base/timer.cpp +++ b/lib/base/timer.cpp @@ -117,7 +117,13 @@ void Timer::Call(void) Timer::Ptr self = GetSelf(); - OnTimerExpired(self); + try { + OnTimerExpired(self); + } catch (...) { + Reschedule(); + + throw; + } Reschedule(); }