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);
|
||||
|
||||
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;
|
||||
case REF_ModeIgnore:
|
||||
/* Do nothing until the mode is changed */
|
||||
|
||||
@@ -43,6 +43,8 @@ extern void REF_Finalise(void);
|
||||
typedef enum {
|
||||
REF_ModeNormal,
|
||||
REF_ModeInitStepSlew,
|
||||
REF_ModeUpdateOnce,
|
||||
REF_ModePrintOnce,
|
||||
REF_ModeIgnore,
|
||||
} REF_Mode;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user