Re: Why does timerfd() only support CLOCK_REALTIME and CLOCK_MONOTONIC?

Davide Libenzi
2009-02-08T21:22:19Z

On Mon, 9 Feb 2009, Michael Kerrisk wrote:

> On Mon, Feb 9, 2009 at 9:46 AM, Davide Libenzi <davidel@xmailserver.org> wrote:
> > On Sun, 8 Feb 2009, Davide Libenzi wrote:
> >
> >> On Mon, 9 Feb 2009, Michael Kerrisk wrote:
> >>
> >> > Hi Davide,
> >> >
> >> > At the moment I'm looking into writing man pages for timer_create(2)
> >> > and friends. (Somewhat bizarrely, these pages do not yet exist.) As
> >> > I looked into the source code of timer_create(), etc., and did some
> >> > tests, I saw that timer_create() supports the following clocks:
> >> >
> >> > TIMER_REALTIME
> >> > TIMER_MONOTONIC
> >> > TIMER_PROCESS_CPUTIME_ID
> >> > TIMER_THREAD_CPUTIME_ID
> >> > clockid obtained from clock_getcpuclockid(3)
> >> > clockid obtained from pthread_getcpuclockid(3)
> >> >
> >> > On the other hand, timerfd() only permits the first two of these.
> >> > What's the reason for that limitation of timerfd()? (It may be worth
> >> > adding something to the man page on this point.)
> >>
> >> No particular reason I can think of. If Thomas makes invalid_clockid()
> >> available, we could allow timerfd() to support all time timers
> >> timer_create() supports.
> >> Do you see any reason why this won't work Thomas?
> >
> > Patch, not tested, below.
>
> (Has it been compiled?)

Yes, it builds fine. I just haven't had time to test it ATM...

- Davide