mirror of
https://gitlab.com/chrony/chrony.git
synced 2025-12-03 18:45:07 -05:00
reference: add UpdateOnce and PrintOnce modes
This commit is contained in:
19
reference.c
19
reference.c
@@ -732,6 +732,25 @@ special_mode_sync(int valid, double offset)
|
|||||||
|
|
||||||
end_ref_mode(1);
|
end_ref_mode(1);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case REF_ModeUpdateOnce:
|
||||||
|
case REF_ModePrintOnce:
|
||||||
|
if (!valid) {
|
||||||
|
LOG(LOGS_WARN, LOGF_Reference, "No suitable source for synchronisation");
|
||||||
|
end_ref_mode(0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
step = mode == REF_ModeUpdateOnce;
|
||||||
|
|
||||||
|
LOG(LOGS_INFO, LOGF_Reference, "System clock wrong by %.6f seconds (%s)",
|
||||||
|
-offset, step ? "step" : "ignored");
|
||||||
|
|
||||||
|
if (step)
|
||||||
|
LCL_ApplyStepOffset(offset);
|
||||||
|
|
||||||
|
end_ref_mode(1);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case REF_ModeIgnore:
|
case REF_ModeIgnore:
|
||||||
/* Do nothing until the mode is changed */
|
/* Do nothing until the mode is changed */
|
||||||
|
|||||||
@@ -43,6 +43,8 @@ extern void REF_Finalise(void);
|
|||||||
typedef enum {
|
typedef enum {
|
||||||
REF_ModeNormal,
|
REF_ModeNormal,
|
||||||
REF_ModeInitStepSlew,
|
REF_ModeInitStepSlew,
|
||||||
|
REF_ModeUpdateOnce,
|
||||||
|
REF_ModePrintOnce,
|
||||||
REF_ModeIgnore,
|
REF_ModeIgnore,
|
||||||
} REF_Mode;
|
} REF_Mode;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user