Adjust last_select_ts on slew

This commit is contained in:
Miroslav Lichvar 2013-06-06 16:28:33 +02:00
parent 58f768928a
commit 41805d572f

View file

@ -507,12 +507,11 @@ handle_slew(struct timeval *raw,
void *anything) void *anything)
{ {
TimerQueueEntry *ptr; TimerQueueEntry *ptr;
double delta;
int i; int i;
if (is_step_change) { if (is_step_change) {
/* We're not interested in anything else - it won't affect the /* If a step change occurs, just shift all raw time stamps by the offset */
functionality of timer event dispatching. If a step change
occurs, just shift all the timeouts by the offset */
for (ptr = timer_queue.next; ptr != &timer_queue; ptr = ptr->next) { for (ptr = timer_queue.next; ptr != &timer_queue; ptr = ptr->next) {
UTI_AddDoubleToTimeval(&ptr->tv, -doffset, &ptr->tv); UTI_AddDoubleToTimeval(&ptr->tv, -doffset, &ptr->tv);
@ -523,8 +522,9 @@ handle_slew(struct timeval *raw,
} }
UTI_AddDoubleToTimeval(&last_select_ts_raw, -doffset, &last_select_ts_raw); UTI_AddDoubleToTimeval(&last_select_ts_raw, -doffset, &last_select_ts_raw);
UTI_AddDoubleToTimeval(&last_select_ts, -doffset, &last_select_ts);
} }
UTI_AdjustTimeval(&last_select_ts, cooked, &last_select_ts, &delta, dfreq, doffset);
} }
/* ================================================== */ /* ================================================== */