On Thu, 1 May 2014, D. Hugh Redelmeier wrote:
| Don't mix up monotonic time with wall clock time (AKA CLOCK_REALTIME).
| Some uses need one and some need another.
For this reason, I propose that different types be used for the
different purposes. Then the C language type system could catch some
mix-ups.
So how about:
/* monotonic version of time(3) */
time_t now_monotonic(void)
{
struct timespec res;
if (clock_getres(CLOCK_MONOTONIC, &res) == 0) {
/* can this ever happen? */
return time(NULL);
}
return res.tv_sec;
}
time_t now_real(void)
{
struct timespec res;
if (clock_getres(CLOCK_REALTIME, &res) == 0) {
/* can this ever happen? */
return time(NULL);
}
return res.tv_sec;
}
I have no idea when clock_getres() would return an error, so I didn't
want to passert() on it.
Then we use now_monotonic() only for items related the our event
scheduling?
Paul
_______________________________________________
Swan-dev mailing list
[email protected]
https://lists.libreswan.org/mailman/listinfo/swan-dev