Accept float value as initstepslew threshold

This commit is contained in:
Miroslav Lichvar 2013-05-09 19:15:25 +02:00
parent c5f1dd8615
commit 12166f8a47
3 changed files with 6 additions and 8 deletions

View file

@ -94,7 +94,7 @@ static int n_sources;
static int n_started_sources; static int n_started_sources;
static int n_completed_sources; static int n_completed_sources;
static int init_slew_threshold = -1; static double init_slew_threshold;
union sockaddr_in46 { union sockaddr_in46 {
struct sockaddr_in in4; struct sockaddr_in in4;
@ -701,7 +701,7 @@ process_measurements(void)
the system clock is fast of the reference, i.e. it needs to be the system clock is fast of the reference, i.e. it needs to be
stepped backwards. */ stepped backwards. */
if (fabs(estimated_offset) > (double) init_slew_threshold) { if (fabs(estimated_offset) > init_slew_threshold) {
LOG(LOGS_INFO, LOGF_Acquire, "System's initial offset : %.6f seconds %s of true (step)", LOG(LOGS_INFO, LOGF_Acquire, "System's initial offset : %.6f seconds %s of true (step)",
fabs(estimated_offset), fabs(estimated_offset),
(estimated_offset >= 0) ? "fast" : "slow"); (estimated_offset >= 0) ? "fast" : "slow");
@ -753,7 +753,7 @@ start_source_timeout_handler(void *not_used)
/* ================================================== */ /* ================================================== */
void void
ACQ_StartAcquisition(int n, IPAddr *ip_addrs, int threshold, void (*after_hook)(void *), void *anything) ACQ_StartAcquisition(int n, IPAddr *ip_addrs, double threshold, void (*after_hook)(void *), void *anything)
{ {
int i, ip4, ip6; int i, ip4, ip6;

View file

@ -35,7 +35,7 @@ extern void ACQ_Initialise(void);
extern void ACQ_Finalise(void); extern void ACQ_Finalise(void);
extern void ACQ_StartAcquisition(int n, IPAddr *ip_addrs, int init_slew_threshold, extern void ACQ_StartAcquisition(int n, IPAddr *ip_addrs, double init_slew_threshold,
void (*after_hook)(void *), void *anything); void (*after_hook)(void *), void *anything);
extern void ACQ_AccumulateSample(ACQ_Source acq_source, double offset, double root_distance); extern void ACQ_AccumulateSample(ACQ_Source acq_source, double offset, double root_distance);

6
conf.c
View file

@ -147,7 +147,7 @@ static int n_init_srcs;
/* Threshold (in seconds) - if absolute value of initial error is less /* Threshold (in seconds) - if absolute value of initial error is less
than this, slew instead of stepping */ than this, slew instead of stepping */
static int init_slew_threshold = -1; static double init_slew_threshold;
#define MAX_INIT_SRCS 8 #define MAX_INIT_SRCS 8
static IPAddr init_srcs_ip[MAX_INIT_SRCS]; static IPAddr init_srcs_ip[MAX_INIT_SRCS];
@ -856,7 +856,6 @@ parse_initstepslew(const char *line)
const char *p; const char *p;
char hostname[HOSTNAME_LEN+1]; char hostname[HOSTNAME_LEN+1];
int n; int n;
int threshold;
IPAddr ip_addr; IPAddr ip_addr;
/* Ignore the line if chronyd was started with -R. */ /* Ignore the line if chronyd was started with -R. */
@ -867,7 +866,7 @@ parse_initstepslew(const char *line)
n_init_srcs = 0; n_init_srcs = 0;
p = line; p = line;
if (sscanf(p, "%d%n", &threshold, &n) == 1) { if (sscanf(p, "%lf%n", &init_slew_threshold, &n) == 1) {
p += n; p += n;
} else { } else {
LOG(LOGS_WARN, LOGF_Configure, "Could not parse initstepslew threshold at line %d", line_number); LOG(LOGS_WARN, LOGF_Configure, "Could not parse initstepslew threshold at line %d", line_number);
@ -892,7 +891,6 @@ parse_initstepslew(const char *line)
} }
if (n_init_srcs > 0) { if (n_init_srcs > 0) {
do_init_stepslew = 1; do_init_stepslew = 1;
init_slew_threshold = threshold;
} else { } else {
LOG(LOGS_WARN, LOGF_Configure, "No usable initstepslew servers at line %d\n", line_number); LOG(LOGS_WARN, LOGF_Configure, "No usable initstepslew servers at line %d\n", line_number);
} }