struct timehands: th_generation field

Brandon Allbery allbery.b at gmail.com
Thu Jul 23 13:51:52 UTC 2015


On Thu, Jul 23, 2015 at 9:43 AM, <deco33000 at yandex.com> wrote:

> I am struggling on one field of a struct :
> http://fxr.watson.org/fxr/source/kern/kern_tc.c?v=FREEBSD10#L63
> I would like to understand what th_generation means please.
>

Seems to me you get a clue from: (
http://fxr.watson.org/fxr/source/kern/kern_tc.c?v=FREEBSD10#L192)

*/*** * Functions for reading the time.  We have to loop until we are
sure that** * the timehands that we operated on was not updated under
our feet.  See** * the comment in <sys/time.h> for a description of
these 12 functions.** */*
>
> #ifdef FFCLOCK
> voidfbclock_binuptime <http://fxr.watson.org/fxr/ident?v=FREEBSD10;i=fbclock_binuptime>(struct bintime <http://fxr.watson.org/fxr/ident?v=FREEBSD10;i=bintime> *bt <http://fxr.watson.org/fxr/ident?v=FREEBSD10;i=bt>)
> {
>         struct timehands <http://fxr.watson.org/fxr/ident?v=FREEBSD10;i=timehands> *th;
>         unsigned int gen <http://fxr.watson.org/fxr/ident?v=FREEBSD10;i=gen>;
>
>         do {
>                 th = timehands <http://fxr.watson.org/fxr/ident?v=FREEBSD10;i=timehands>;
>                 gen <http://fxr.watson.org/fxr/ident?v=FREEBSD10;i=gen> = th->th_generation;
>                 *bt <http://fxr.watson.org/fxr/ident?v=FREEBSD10;i=bt> = th->th_offset;
>                 bintime_addx <http://fxr.watson.org/fxr/ident?v=FREEBSD10;i=bintime_addx>(bt <http://fxr.watson.org/fxr/ident?v=FREEBSD10;i=bt>, th->th_scale * tc_delta <http://fxr.watson.org/fxr/ident?v=FREEBSD10;i=tc_delta>(th));
>         } while (gen <http://fxr.watson.org/fxr/ident?v=FREEBSD10;i=gen> == 0 || gen <http://fxr.watson.org/fxr/ident?v=FREEBSD10;i=gen> != th->th_generation);
> }
>
> --
brandon s allbery kf8nh                               sine nomine associates
allbery.b at gmail.com                                  ballbery at sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net


More information about the freebsd-stable mailing list