From: Miroslav Lichvar Date: Fri, 6 Jun 2014 09:19:03 +0000 (+0200) Subject: reference: fix adjusting of last reference update time X-Git-Tag: 1.30-pre1~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9b630a0664679aab80750e47889b0d77f36d6ada;p=thirdparty%2Fchrony.git reference: fix adjusting of last reference update time The timestamp is in cooked time, it needs to be adjusted on all changes, not only on step. --- diff --git a/reference.c b/reference.c index bdc8f7de..08648894 100644 --- a/reference.c +++ b/reference.c @@ -147,11 +147,13 @@ handle_slew(struct timeval *raw, LCL_ChangeType change_type, void *anything) { + double delta; + if (change_type == LCL_ChangeUnknownStep) { last_ref_update.tv_sec = 0; last_ref_update.tv_usec = 0; - } else if (change_type == LCL_ChangeStep) { - UTI_AddDoubleToTimeval(&last_ref_update, -doffset, &last_ref_update); + } else if (last_ref_update.tv_sec) { + UTI_AdjustTimeval(&last_ref_update, cooked, &last_ref_update, &delta, dfreq, doffset); } }