diff options
author | Toyo Abe <toyoa@mvista.com> | 2006-09-29 02:00:28 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-29 09:18:15 -0700 |
commit | 1711ef3866b0360e102327389fe4b76c849bbe83 (patch) | |
tree | b74a2cb6167840563d450859a571d6685966b771 /include/linux/hrtimer.h | |
parent | 9c4751fd0eab5b8ebbfafb28cbcc8e03b0da5933 (diff) | |
download | kernel_samsung_smdk4412-1711ef3866b0360e102327389fe4b76c849bbe83.zip kernel_samsung_smdk4412-1711ef3866b0360e102327389fe4b76c849bbe83.tar.gz kernel_samsung_smdk4412-1711ef3866b0360e102327389fe4b76c849bbe83.tar.bz2 |
[PATCH] posix-timers: Fix clock_nanosleep() doesn't return the remaining time in compatibility mode
The clock_nanosleep() function does not return the time remaining when the
sleep is interrupted by a signal.
This patch creates a new call out, compat_clock_nanosleep_restart(), which
handles returning the remaining time after a sleep is interrupted. This
patch revives clock_nanosleep_restart(). It is now accessed via the new
call out. The compat_clock_nanosleep_restart() is used for compatibility
access.
Since this is implemented in compatibility mode the normal path is
virtually unaffected - no real performance impact.
Signed-off-by: Toyo Abe <toyoa@mvista.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/hrtimer.h')
-rw-r--r-- | include/linux/hrtimer.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h index 4fc379d..fca9302 100644 --- a/include/linux/hrtimer.h +++ b/include/linux/hrtimer.h @@ -138,6 +138,7 @@ extern long hrtimer_nanosleep(struct timespec *rqtp, struct timespec __user *rmtp, const enum hrtimer_mode mode, const clockid_t clockid); +extern long hrtimer_nanosleep_restart(struct restart_block *restart_block); extern void hrtimer_init_sleeper(struct hrtimer_sleeper *sl, struct task_struct *tsk); |