From e3823299a4bf4b6b43a44916e0b401ff5d92ffb9 Mon Sep 17 00:00:00 2001 From: zhkag Date: Thu, 8 Dec 2022 02:17:13 +0000 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20nanosleep=20=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E5=80=BC=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhkag --- components/lwp/lwp_syscall.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/components/lwp/lwp_syscall.c b/components/lwp/lwp_syscall.c index bff158ff0c..0464a0f7a0 100644 --- a/components/lwp/lwp_syscall.c +++ b/components/lwp/lwp_syscall.c @@ -923,7 +923,8 @@ int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp) if ((ret != -1 || rt_get_errno() == EINTR) && rmtp && lwp_user_accessable((void *)rmtp, sizeof *rmtp)) { lwp_put_to_user(rmtp, (void *)&rmtp_k, sizeof rmtp_k); - return -EINTR; + if(ret != 0) + return -EINTR; } #else if (rmtp) @@ -3872,7 +3873,8 @@ int sys_clock_nanosleep(clockid_t clk, int flags, const struct timespec *rqtp, s if ((ret != -1 || rt_get_errno() == EINTR) && rmtp && lwp_user_accessable((void *)rmtp, sizeof *rmtp)) { lwp_put_to_user(rmtp, (void *)&rmtp_k, sizeof rmtp_k); - return -EINTR; + if(ret != 0) + return -EINTR; } #else if (rmtp) -- Gitee