On Wed, Jul 12, 2017 at 05:56:36PM +1200, Bryan Christianson wrote: > > On 11/07/2017, at 7:26 PM, Miroslav Lichvar <mlich...@redhat.com> wrote: > > I agree, as long as they can fix the adjtime() bug. If it's not fixed, > > it would probably be better to disable the fast-slewing feature in > > order to avoid adjtime(). > > I'm not sure how to do this. Any hints? > I'm assuming Apple will get around to fixing the bug so I figured we don't > want to add anything code will be difficult to remove at a later date.
The initialization function could look like this: have_ntp_adjtime = (dlsym(RTLD_NEXT, "ntp_adjtime") != NULL); if (have_ntp_adjtime) { buggy_adjtime = !test_adjtime(); if (buggy_adjtime) SYS_Timex_Initialise(); else SYS_NetBSD_Initialise(); return; } test_adjtime() would check tv after calling adjtime({-1, 999999}, NULL) and adjtime({0,0}, &tv), or something that doesn't slew the clock too much. If that's not possible, the function could be selected with an #ifdef BUGGY_ADJTIME and the macro would be defined until we know it's fixed. -- Miroslav Lichvar -- To unsubscribe email chrony-dev-requ...@chrony.tuxfamily.org with "unsubscribe" in the subject. For help email chrony-dev-requ...@chrony.tuxfamily.org with "help" in the subject. Trouble? Email listmas...@chrony.tuxfamily.org.