posix-timers: Add support for fd based clocks

Extend the negative clockids which are currently used by posix cpu
timers to encode the PID with a file descriptor based type which
encodes the fd in the upper bits.

Originally-from: Richard Cochran <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: John Stultz <[email protected]>
LKML-Reference: <[email protected]>
This commit is contained in:
Richard Cochran 2011-02-01 13:52:32 +00:00 • committed by Thomas Gleixner
commit 81e294cba2
2 changed files with 14 additions and 1 deletions

View file

@ -488,7 +488,7 @@ static void release_posix_timer(struct k_itimer *tmr, int it_id_set)
static struct k_clock *clockid_to_kclock(const clockid_t id)
{
if (id < 0)
return &clock_posix_cpu;
return (id & CLOCKFD_MASK) == CLOCKFD ? NULL : &clock_posix_cpu;
if (id >= MAX_CLOCKS || !posix_clocks[id].clock_getres)
return NULL;