Re: nanosleep() uses CLOCK_MONOTONIC, should be CLOCK_REALTIME?

From: Roman Zippel
Date: Mon Jun 23 2008 - 08:45:27 EST


Hi,

On Mon, 23 Jun 2008, Michael Kerrisk wrote:

> >> Is there a reason to use CLOCK_MONOTONIC, instead of CLOCK_REALTIME? Is it
> >> intentional? If yes, then I should document this in the man-pages. If not,
> >> then it should be fixed.
> >
> > CLOCK_MONOTONIC works fine even if ntpd steps the clock forward or
> > backward, CLOCK_REALTIME not. So the man page should be fixed.
>
> Thanks for your reply, but I'm not quite convinced yet. The things
> is: the Solaris man page also says "CLOCK_REALTIME". (Of course that
> man page may just be parroting the standard.) Could there not be some
> reasonable semantics for a nanosleep() that was based on
> CLOCK_REALTIME?

CLOCK_MONOTONIC is optional, that's probably the reason it's not mentioned
there. If you check the man page for clock_settime, it specifically
mentions that pending relative timer (including nanosleep) aren't affected
by the changed time, thus if CLOCK_MONOTONIC and CLOCK_REALTIME advance
equally, it doesn't matter which you use for relative timer.

bye, Roman
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/