On Mon, 2011-10-03 at 12:19 +0100, Tony Finch wrote:
> Tom Van Baak <[email protected]> wrote:
> >
> > Try using clock() instead of gettimeofday_in_millisecs(). The former
> > nicely increments with CLOCKS_PER_SEC resolution and is immune
> > from UTC, timezones, and leap seconds. At least it does on windows.
> > Can someone comment on unix/linux?
> 
> clock() is broken on Windows in order to be backwards-compatible with DOS.
> It is supposed to return the time the process has spent running on the
> CPU, which is traditionally rather slower than real time, though it may be
> faster for a multithreaded process on a multicore computer. Since DOS
> didn't multitask it just returned elapsed time since the process started,
> and Windows has retained this braindamaged semantics.
> 


BTW Windows has QueryPerformanceCounter(). However much as I like Unix
clock() and clock_gettime(CLOCK_MONOTONIC), I'm stuck with the problem
that there are many third party libraries with which I link and much
code written by other teams that I have no idea about.

Any one of those components (some of which run on other machines to
my code - to which I communicate over the network) could have a false
1 second delay.

So it still seems the best way is to assume the delay might be there
and to program defensively. *shrug*

-paul




_______________________________________________
LEAPSECS mailing list
[email protected]
http://six.pairlist.net/mailman/listinfo/leapsecs

Reply via email to