[patch] fix posix timer errors

Frederik Deweerdt
2006-08-13T14:32:05Z

On Sun, Aug 13, 2006 at 01:24:54AM -0700, Andrew Morton wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.18-rc4/2.6.18-rc4-mm1/
>
Hi,

posix-timers-fix-clock_nanosleep-doesnt-return-the-remaining-time-in-compatibility-mode.patch
declares two functions with the wrong return type.

Also, posix-timers-fix-the-flags-handling-in-posix_cpu_nsleep.patch uses
'=' instead of '=='.

The attached patch fix both issues.

Regards,
Frederik

diff --git a/kernel/posix-cpu-timers.c b/kernel/posix-cpu-timers.c
index 1fc1ea2..479b16b 100644
--- a/kernel/posix-cpu-timers.c
+++ b/kernel/posix-cpu-timers.c
@@ -1477,7 +1477,7 @@ int posix_cpu_nsleep(const clockid_t whi

error = do_cpu_nanosleep(which_clock, flags, rqtp, &it);

- if (error = -ERESTART_RESTARTBLOCK) {
+ if (error == -ERESTART_RESTARTBLOCK) {

if (flags & TIMER_ABSTIME)
return -ERESTARTNOHAND;
@@ -1511,7 +1511,7 @@ long posix_cpu_nsleep_restart(struct res
restart_block->fn = do_no_restart_syscall;
error = do_cpu_nanosleep(which_clock, TIMER_ABSTIME, &t, &it);

- if (error = -ERESTART_RESTARTBLOCK) {
+ if (error == -ERESTART_RESTARTBLOCK) {
/*
* Report back to the user the time still remaining.
*/
@@ -1553,7 +1553,7 @@ static int process_cpu_nsleep(const cloc
{
return posix_cpu_nsleep(PROCESS_CLOCK, flags, rqtp, rmtp);
}
-static int process_cpu_nsleep_restart(struct restart_block *restart_block)
+static long process_cpu_nsleep_restart(struct restart_block *restart_block)
{
return -EINVAL;
}
@@ -1577,7 +1577,7 @@ static int thread_cpu_nsleep(const clock
{
return -EINVAL;
}
-static int thread_cpu_nsleep_restart(struct restart_block *restart_block)
+static long thread_cpu_nsleep_restart(struct restart_block *restart_block)
{
return -EINVAL;
}