In message <[EMAIL PROTECTED]>, Matthew Dillon wri
tes:
> However, I think to be complete we need to make it even less elegant.
> The TC module is only flip-flopping between two time counters, which
> means that it can flip-flop twice and the test will not work. We need
> a generation count on the timecounter as well:
>
> do {
> tc = timecounter;
> gen = tc->tc_generation;
> *bt = tc->tc_offset;
> bintime_addx(bt, tc->tc_scale * tco_delta(tc));
> } while (tc != timecounter || tc->tc_generation != gen);
No, more like:
do {
tc = timecounter;
gen = tc->gen;
...
} while (gen != tc->gen);
--
Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
[EMAIL PROTECTED] | TCP/IP since RFC 956
FreeBSD committer | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message