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