diff options
author | 2006-01-09 20:52:36 -0800 | |
---|---|---|
committer | 2006-01-10 08:01:38 -0800 | |
commit | 6ba1b91213e81aa92b5cf7539f7d2a94ff54947c (patch) | |
tree | 0d461bf7c7f444a80d09f09501e9fb378a78220f /kernel/hrtimer.c | |
parent | [PATCH] hrtimer: create hrtimer nanosleep API (diff) | |
download | linux-6ba1b91213e81aa92b5cf7539f7d2a94ff54947c.tar.gz linux-6ba1b91213e81aa92b5cf7539f7d2a94ff54947c.tar.bz2 linux-6ba1b91213e81aa92b5cf7539f7d2a94ff54947c.zip |
[PATCH] hrtimer: switch sys_nanosleep to hrtimer
convert sys_nanosleep() to use hrtimer_nanosleep()
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel/hrtimer.c')
-rw-r--r-- | kernel/hrtimer.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c index 64d37a3c5948..11fde0caee56 100644 --- a/kernel/hrtimer.c +++ b/kernel/hrtimer.c @@ -707,6 +707,20 @@ long hrtimer_nanosleep(struct timespec *rqtp, struct timespec __user *rmtp, return -ERESTART_RESTARTBLOCK; } +asmlinkage long +sys_nanosleep(struct timespec __user *rqtp, struct timespec __user *rmtp) +{ + struct timespec tu; + + if (copy_from_user(&tu, rqtp, sizeof(tu))) + return -EFAULT; + + if (!timespec_valid(&tu)) + return -EINVAL; + + return hrtimer_nanosleep(&tu, rmtp, HRTIMER_REL, CLOCK_MONOTONIC); +} + /* * Functions related to boot-time initialization: */ |