git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13161
d0543943-73ff-0310-b7d9-
9358b9ac24b2
#else
int cond_index = 1;
#endif
+ int delta = (int)(private_info->reference - TIMER_MATRIX[timer->interval].tick);
+ /* sync up timer if it's not been called for a while otherwise it will return instantly several times until it catches up */
+ if (delta < 0) {
+ private_info->reference = timer->tick = TIMER_MATRIX[timer->interval].tick;
+ }
timer_step(timer);
while (globals.RUNNING == 1 && private_info->ready && TIMER_MATRIX[timer->interval].tick < private_info->reference) {