diff --git a/core/sip/wheeltimer.cpp b/core/sip/wheeltimer.cpp index 1512d47f..9c336183 100644 --- a/core/sip/wheeltimer.cpp +++ b/core/sip/wheeltimer.cpp @@ -88,8 +88,12 @@ void _wheeltimer::run() //printf("missed one tick\n"); //} - turn_wheel(); - next_tick += tick; + now = gettimeofday_us(); + + while (now >= next_tick) { + turn_wheel(); + next_tick += tick; + } } }