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)

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 
Trouble?  Email listmas...@chrony.tuxfamily.org.

Reply via email to