]> git.ipfire.org Git - thirdparty/chrony.git/commitdiff
sys_macosx: remove adjtime() check
authorBryan Christianson <bryan@whatroute.net>
Mon, 1 Oct 2018 21:40:27 +0000 (10:40 +1300)
committerMiroslav Lichvar <mlichvar@redhat.com>
Tue, 2 Oct 2018 08:50:04 +0000 (10:50 +0200)
Remove the runtime checking of adjtime(). adjtime() was broken in beta
releases of macOS 10.13 but is ok now.

sys_macosx.c

index 00ce302c3e2d7a253dddaad90547a0da434bf3b1..807d62ee3e786d8fb4524a0645e56a82875c31ac 100644 (file)
 #ifdef HAVE_MACOS_SYS_TIMEX
 #include <dlfcn.h>
 #include "sys_netbsd.h"
-#include "sys_timex.h"
 
 static int have_ntp_adjtime = 0;
-static int have_bad_adjtime = 0;
 #endif
 
 /* ================================================== */
@@ -453,45 +451,13 @@ legacy_MacOSX_Finalise(void)
 
 /* ================================================== */
 
-#ifdef HAVE_MACOS_SYS_TIMEX
-/*
-    Test adjtime() to see if Apple have fixed the signed/unsigned bug
-*/
-static int
-test_adjtime()
-{
-  struct timeval tv1 = {-1, 0};
-  struct timeval tv2 = {0, 0};
-  struct timeval tv;
-
-  if (PRV_AdjustTime(&tv1, &tv) != 0) {
-    return 0;
-  }
-  if (PRV_AdjustTime(&tv2, &tv) != 0) {
-    return 0;
-  }
-  if (tv.tv_sec < -1 || tv.tv_sec > 1) {
-    return 0;
-  }
-  return 1;
-}
-#endif
-
-/* ================================================== */
-
 void
 SYS_MacOSX_Initialise(void)
 {
 #ifdef HAVE_MACOS_SYS_TIMEX
   have_ntp_adjtime = (dlsym(RTLD_NEXT, "ntp_adjtime") != NULL);
   if (have_ntp_adjtime) {
-    have_bad_adjtime = !test_adjtime();
-    if (have_bad_adjtime) {
-      LOG(LOGS_WARN, "adjtime() is buggy - using timex driver");
-      SYS_Timex_Initialise();
-    } else {
-      SYS_NetBSD_Initialise();
-    }
+    SYS_NetBSD_Initialise();
     return;
   }
 #endif
@@ -505,11 +471,7 @@ SYS_MacOSX_Finalise(void)
 {
 #ifdef HAVE_MACOS_SYS_TIMEX
   if (have_ntp_adjtime) {
-    if (have_bad_adjtime) {
-      SYS_Timex_Finalise();
-    } else {
-      SYS_NetBSD_Finalise();
-    }
+    SYS_NetBSD_Finalise();
     return;
   }
 #endif