]> git.ipfire.org Git - thirdparty/chrony.git/commitdiff
Use initial delay also for burst samples
authorMiroslav Lichvar <mlichvar@redhat.com>
Fri, 26 Aug 2011 14:59:38 +0000 (16:59 +0200)
committerMiroslav Lichvar <mlichvar@redhat.com>
Fri, 26 Aug 2011 16:34:00 +0000 (18:34 +0200)
ntp_core.c

index 39dc02f39b11c248e27087025af318fffeabcd28..adc876e91ad1efaa0314256d4a137f1638306e45 100644 (file)
@@ -1832,34 +1832,22 @@ NCR_InitiateSampleBurst(NCR_Instance inst, int n_good_samples, int n_total_sampl
         break;
 
       case MD_ONLINE:
-        inst->opmode = MD_BURST_WAS_ONLINE;
-        inst->burst_good_samples_to_go = n_good_samples;
-        inst->burst_total_samples_to_go = n_total_samples;
-        if (inst->timer_running) {
-          SCH_RemoveTimeout(inst->timeout_id);
-        }
-        inst->timer_running = 1;
-        inst->timeout_id = SCH_AddTimeoutInClass(0.0, SAMPLING_SEPARATION,
-                                                 SAMPLING_RANDOMNESS,
-                                                 SCH_NtpSamplingClass,
-                                                 transmit_timeout, (void *) inst);
-        break;
-
       case MD_OFFLINE:
-        inst->opmode = MD_BURST_WAS_OFFLINE;
+        if (inst->opmode == MD_ONLINE)
+          inst->opmode = MD_BURST_WAS_ONLINE;
+        else
+          inst->opmode = MD_BURST_WAS_OFFLINE;
         inst->burst_good_samples_to_go = n_good_samples;
         inst->burst_total_samples_to_go = n_total_samples;
         if (inst->timer_running) {
           SCH_RemoveTimeout(inst->timeout_id);
         }
         inst->timer_running = 1;
-        inst->timeout_id = SCH_AddTimeoutInClass(0.0, SAMPLING_SEPARATION,
+        inst->timeout_id = SCH_AddTimeoutInClass(INITIAL_DELAY, SAMPLING_SEPARATION,
                                                  SAMPLING_RANDOMNESS,
                                                  SCH_NtpSamplingClass,
                                                  transmit_timeout, (void *) inst);
         break;
-
-
       default:
         assert(0);
         break;