From 2c693094d9717aac2a6f4cfd3d36aca9608e6045 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 6 Nov 2019 21:01:44 +0100 Subject: [PATCH] Kernel: If a process is interrupted during usleep(), return -EINTR --- Kernel/Process.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/Kernel/Process.cpp b/Kernel/Process.cpp index e41b40cf04..d0ec3c26d4 100644 --- a/Kernel/Process.cpp +++ b/Kernel/Process.cpp @@ -1514,12 +1514,9 @@ int Process::sys$usleep(useconds_t usec) { if (!usec) return 0; - u64 wakeup_time = current->sleep(usec / 1000); - if (wakeup_time > g_uptime) { - u32 ticks_left_until_original_wakeup_time = wakeup_time - g_uptime; - return ticks_left_until_original_wakeup_time / TICKS_PER_SECOND; - } + if (wakeup_time > g_uptime) + return -EINTR; return 0; }