From 69b3b3cb3873d59edfebae0cb7db58166d78f3a6 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 22 Feb 1999 16:10:00 +0000 Subject: [PATCH] Update. 1999-02-22 Ulrich Drepper * sysdeps/unix/sysv/linux/clock.c: Don't test return value of __times [PR libc/990]. --- ChangeLog | 5 +++++ sysdeps/unix/sysv/linux/clock.c | 12 +++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0c1e0f87eb..10fd76beba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +1999-02-22 Ulrich Drepper + + * sysdeps/unix/sysv/linux/clock.c: Don't test return value of + __times [PR libc/990]. + 1999-02-21 David S. Miller * sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h: Fix diff --git a/sysdeps/unix/sysv/linux/clock.c b/sysdeps/unix/sysv/linux/clock.c index 372afdd149..52268c959c 100644 --- a/sysdeps/unix/sysv/linux/clock.c +++ b/sysdeps/unix/sysv/linux/clock.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1992, 1996 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1992, 1996, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -27,8 +27,14 @@ clock (void) struct tms buf; long clk_tck = __sysconf (_SC_CLK_TCK); - if (__times (&buf) < 0) - return (clock_t) -1; + /* We don't check for errors here. The only error the kernel + returns is EFAULT if the value cannot be written to the struct we + pass a pointer to. Otherwise the kernel returns an `unsigned + long' value which is the number of jiffies since system start. + But this number can be negative (when read as `long') when the + system is up for some time. Ignoring errors should therefore + have no negative impacts but solve the problem. */ + __times (&buf); return (clk_tck <= CLOCKS_PER_SEC)