]> git.ipfire.org Git - thirdparty/chrony.git/commitdiff
sources: drop selectable flag
authorMiroslav Lichvar <mlichvar@redhat.com>
Thu, 16 Oct 2014 16:07:03 +0000 (18:07 +0200)
committerMiroslav Lichvar <mlichvar@redhat.com>
Mon, 20 Oct 2014 09:02:07 +0000 (11:02 +0200)
This is no longer needed with new NTP packet processing as the sources
are always selectable after first sample is accumulated.

ntp_core.c
refclock.c
sources.c
sources.h

index 031790e7dc0f4a074b01a2a3f3e74049a122ddea..71135037b5556e90e2c059de031af28c4c93cd1c 100644 (file)
@@ -1272,8 +1272,6 @@ receive_packet(NTP_Packet *message, struct timeval *now, double now_err, NCR_Ins
       /* Do this before we accumulate a new sample into the stats registers, obviously */
       estimated_offset = SRC_PredictOffset(inst->source, &sample_time);
 
-      SRC_SetSelectable(inst->source);
-
       SRC_AccumulateSample(inst->source,
                            &sample_time,
                            offset, delay, dispersion,
index 5379502c105a865667885cbe38129780b7b241be..e667a80c0c51d60060180dc9bd3ee3966e76f906 100644 (file)
@@ -281,7 +281,6 @@ RCL_StartRefclocks(void)
   for (i = 0; i < n; i++) {
     RCL_Instance inst = get_refclock(i);
 
-    SRC_SetSelectable(inst->source);
     SRC_SetActive(inst->source);
     inst->timeout_id = SCH_AddTimeoutByDelay(0.0, poll_timeout, (void *)inst);
 
index 4b9514e6882cfb4222f1ff9699bdd4b0fe962222..6e0cfae823920b95dde1f6258211308278cd8fc0 100644 (file)
--- a/sources.c
+++ b/sources.c
@@ -88,9 +88,6 @@ struct SRC_Instance_Record {
                                    reference _it_ is sync'd to) */
   IPAddr *ip_addr;              /* Its IP address if NTP source */
 
-  /* Flag indicating that we can use this source as a reference */
-  int selectable;
-
   /* Flag indicating that the source is updating reachability */
   int active;
 
@@ -231,7 +228,6 @@ SRC_Instance SRC_CreateNewInstance(uint32_t ref_id, SRC_Type type, SRC_SelectOpt
   result->ref_id = ref_id;
   result->ip_addr = addr;
   result->active = 0;
-  result->selectable = 0;
   result->updates = 0;
   result->reachability = 0;
   result->reachability_size = 0;
@@ -258,8 +254,6 @@ void SRC_DestroyInstance(SRC_Instance instance)
 
   assert(initialised);
 
-  SRC_UnsetSelectable(instance);
-
   SST_DeleteInstance(instance->stats);
   dead_index = instance->index;
   for (i=dead_index; i<n_sources-1; i++) {
@@ -269,9 +263,11 @@ void SRC_DestroyInstance(SRC_Instance instance)
   --n_sources;
   Free(instance);
 
-  if (selected_source_index > dead_index) {
+  /* If this was the previous reference source, we have to reselect! */
+  if (selected_source_index == dead_index)
+    SRC_ReselectSource();
+  else if (selected_source_index > dead_index)
     --selected_source_index;
-  }
 }
 
 /* ================================================== */
@@ -354,37 +350,6 @@ SRC_UnsetActive(SRC_Instance inst)
 
 /* ================================================== */
 
-void
-SRC_SetSelectable(SRC_Instance inst)
-{
-  inst->selectable = 1;
-
-  DEBUG_LOG(LOGF_Sources, "%s", source_to_string(inst));
-
-  /* Don't do selection at this point, though - that will come about
-     in due course when we get some useful data from the source */
-}
-
-/* ================================================== */
-
-void
-SRC_UnsetSelectable(SRC_Instance inst)
-{
-  inst->selectable = 0;
-
-  DEBUG_LOG(LOGF_Sources, "%s%s", source_to_string(inst),
-      (inst->index == selected_source_index) ? "(REF)":"");
-
-  /* If this was the previous reference source, we have to reselect!  */
-
-  if (inst->index == selected_source_index) {
-    SRC_SelectSource(NULL);
-  }
-
-}
-
-/* ================================================== */
-
 static int
 special_mode_end(void)
 {
@@ -607,9 +572,8 @@ SRC_SelectSource(SRC_Instance updated_inst)
   max_sel_reach = max_badstat_reach = 0;
 
   for (i = 0; i < n_sources; i++) {
-    /* If the source is not reachable or selectable, there is no way we will
-       pick it. */
-    if (!sources[i]->selectable || !sources[i]->reachability ||
+    /* If the source is not reachable, there is no way we will pick it */
+    if (!sources[i]->reachability ||
         sources[i]->sel_option == SRC_SelectNoselect) {
       sources[i]->status = SRC_UNREACHABLE;
       continue;
index 41e3246e09fc8acc4bd94bd147c18983b194b561..34b1e026f91254b506b6e1f3f4ccef2c73e4d68f 100644 (file)
--- a/sources.h
+++ b/sources.h
@@ -124,14 +124,6 @@ extern void SRC_SetActive(SRC_Instance inst);
 /* This routine sets the source as not receiving reachability updates */
 extern void SRC_UnsetActive(SRC_Instance inst);
 
-/* This routine indicates that packets with valid headers are being
-   received from the designated source */
-extern void SRC_SetSelectable(SRC_Instance instance);
-
-/* This routine indicates that we are no longer receiving packets with
-   valid headers from the designated source */
-extern void SRC_UnsetSelectable(SRC_Instance instance);
-
 /* This routine updates the reachability register */
 extern void SRC_UpdateReachability(SRC_Instance inst, int reachable);