]> git.ipfire.org Git - thirdparty/chrony.git/commitdiff
refclock: ignore samples with unsynchronised leap status
authorMiroslav Lichvar <mlichvar@redhat.com>
Fri, 18 Dec 2015 14:17:06 +0000 (15:17 +0100)
committerMiroslav Lichvar <mlichvar@redhat.com>
Fri, 18 Dec 2015 15:25:23 +0000 (16:25 +0100)
refclock.c

index 8791d43d04d28b2c0a201e3e4f6c4d04b7d6e245..d995c7ae6abdb2f0bcdae0999108491bba317372 100644 (file)
@@ -372,8 +372,6 @@ RCL_AddSample(RCL_Instance instance, struct timeval *sample_time, double offset,
       !valid_sample_time(instance, sample_time))
     return 0;
 
-  filter_add_sample(&instance->filter, &cooked_time, offset - correction + instance->offset, dispersion);
-
   switch (leap) {
     case LEAP_Normal:
     case LEAP_InsertSecond:
@@ -381,10 +379,11 @@ RCL_AddSample(RCL_Instance instance, struct timeval *sample_time, double offset,
       instance->leap_status = leap;
       break;
     default:
-      instance->leap_status = LEAP_Unsynchronised;
-      break;
+      DEBUG_LOG(LOGF_Refclock, "refclock sample ignored bad leap %d", leap);
+      return 0;
   }
 
+  filter_add_sample(&instance->filter, &cooked_time, offset - correction + instance->offset, dispersion);
   instance->pps_active = 0;
 
   log_sample(instance, &cooked_time, 0, 0, offset, offset - correction + instance->offset, dispersion);