From ea5a1a8693deef81140d4ef66af20fe54f2e2b39 Mon Sep 17 00:00:00 2001 From: NAKAMURA Gou Date: Thu, 17 Sep 2015 20:36:08 +0900 Subject: [PATCH] nanosleep: update *rem whenever signaled --- kernel/syscall.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/syscall.c b/kernel/syscall.c index 5691cc76..a132c44d 100644 --- a/kernel/syscall.c +++ b/kernel/syscall.c @@ -5022,7 +5022,7 @@ SYSCALL_DECLARE(nanosleep) /* Do it locally if supported */ if (gettime_local_support) { unsigned long nanosecs; - unsigned long nanosecs_rem = 0; + unsigned long nanosecs_rem; unsigned long tscs; unsigned long tscs_rem; struct timespec _tv; @@ -5053,7 +5053,7 @@ SYSCALL_DECLARE(nanosleep) } } - if (nanosecs_rem) { + if ((ret == -EINTR) && rem) { _rem.tv_sec = nanosecs_rem / NS_PER_SEC; _rem.tv_nsec = nanosecs_rem % NS_PER_SEC;