[1/2] RISC-V: Fixed return code in _times syscall.

Message ID CA+yXCZDwAcDDh_5_SvJHAW+xhR68vqjxbE+L8nw27PW2Ff9YTw@mail.gmail.com
State New
Headers show
Series
  • [1/2] RISC-V: Fixed return code in _times syscall.
Related show

Commit Message

Kito Cheng Aug. 29, 2018, 8:35 a.m.
This patch fixed wrong return code for _times in RISC-V libgloss

Comments

Corinna Vinschen Aug. 29, 2018, 1:50 p.m. | #1
On Aug 29 16:35, Kito Cheng wrote:
> This patch fixed wrong return code for _times in RISC-V libgloss


> From 307f84513342d87e0dba268e4040a85b31e6227f Mon Sep 17 00:00:00 2001

> From: Denis Ivanov <denis.ivanov@cloudbear.ru>

> Date: Fri, 6 Jul 2018 12:03:15 +0300

> Subject: [PATCH 1/2] RISC-V: Fixed return code in _times syscall.

> 

> Upon successful completion, times() shall return the elapsed real time,

> in clock ticks, since an arbitrary point in the past (for example,

> system start-up time).

> 

> Signed-off-by: Kito Cheng <kito.cheng@gmail.com>

> ---

>  libgloss/riscv/sys_times.c | 4 ++--

>  1 file changed, 2 insertions(+), 2 deletions(-)


Pushed.


Thanks,
Corinna

-- 
Corinna Vinschen
Cygwin Maintainer
Red Hat

Patch

From 307f84513342d87e0dba268e4040a85b31e6227f Mon Sep 17 00:00:00 2001
From: Denis Ivanov <denis.ivanov@cloudbear.ru>
Date: Fri, 6 Jul 2018 12:03:15 +0300
Subject: [PATCH 1/2] RISC-V: Fixed return code in _times syscall.

Upon successful completion, times() shall return the elapsed real time,
in clock ticks, since an arbitrary point in the past (for example,
system start-up time).

Signed-off-by: Kito Cheng <kito.cheng@gmail.com>
---
 libgloss/riscv/sys_times.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libgloss/riscv/sys_times.c b/libgloss/riscv/sys_times.c
index eb0ef9d1f..fc8133ade 100644
--- a/libgloss/riscv/sys_times.c
+++ b/libgloss/riscv/sys_times.c
@@ -23,7 +23,7 @@  _times(struct tms *buf)
 {
   // when called for the first time, initialize t0
   static struct timeval t0;
-  if (t0.tv_sec == 0)
+  if (t0.tv_sec == 0 && t0.tv_usec == 0)
     _gettimeofday (&t0, 0);
 
   struct timeval t;
@@ -33,5 +33,5 @@  _times(struct tms *buf)
   buf->tms_utime = utime * CLOCKS_PER_SEC / 1000000;
   buf->tms_stime = buf->tms_cstime = buf->tms_cutime = 0;
 
-  return -1;
+  return buf->tms_utime;
 }
-- 
2.17.1