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_completed_sources;
static int init_slew_threshold = -1;
static double init_slew_threshold;
union sockaddr_in46 {
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
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)",
fabs(estimated_offset),
(estimated_offset >= 0) ? "fast" : "slow");
@ -753,7 +753,7 @@ start_source_timeout_handler(void *not_used)
/* ================================================== */
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;

View file

@ -35,7 +35,7 @@ extern void ACQ_Initialise(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);
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
than this, slew instead of stepping */
static int init_slew_threshold = -1;
static double init_slew_threshold;
#define MAX_INIT_SRCS 8
static IPAddr init_srcs_ip[MAX_INIT_SRCS];
@ -856,7 +856,6 @@ parse_initstepslew(const char *line)
const char *p;
char hostname[HOSTNAME_LEN+1];
int n;
int threshold;
IPAddr ip_addr;
/* Ignore the line if chronyd was started with -R. */
@ -867,7 +866,7 @@ parse_initstepslew(const char *line)
n_init_srcs = 0;
p = line;
if (sscanf(p, "%d%n", &threshold, &n) == 1) {
if (sscanf(p, "%lf%n", &init_slew_threshold, &n) == 1) {
p += n;
} else {
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) {
do_init_stepslew = 1;
init_slew_threshold = threshold;
} else {
LOG(LOGS_WARN, LOGF_Configure, "No usable initstepslew servers at line %d\n", line_number);
}