about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/i386/get_clockfreq.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-04-11 16:27:38 +0000
committerUlrich Drepper <drepper@redhat.com>2000-04-11 16:27:38 +0000
commite7c036b39ef12abc7ff131982df75e3ec35c0f31 (patch)
tree0f5115adbee001941fd8fdf8dac6ea2200f35d60 /sysdeps/unix/sysv/linux/i386/get_clockfreq.c
parent094f72c6a57bf36e70726c1827d93d1d85ed0154 (diff)
downloadglibc-e7c036b39ef12abc7ff131982df75e3ec35c0f31.tar.gz
glibc-e7c036b39ef12abc7ff131982df75e3ec35c0f31.tar.xz
glibc-e7c036b39ef12abc7ff131982df75e3ec35c0f31.zip
Update.
2000-04-11  Ulrich Drepper  <drepper@redhat.com>

	* posix/globtest.sh: Fix last change.

2000-04-10  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/bits/in.h (IPV6_JOIN_GROUP,
	IPV6_LEAVE_GROUP): New names for IPV6_ADD_MEMBERSHIP,
	IPV6_DROP_MEMBERSHIP.
	* sysdeps/generic/bits/in.h (IPV6_JOIN_GROUP, IPV6_LEAVE_GROUP):
	Likewise.

2000-04-11  Ulrich Drepper  <drepper@redhat.com>

	* elf/readlib (process_file): Close streams in case of an error.

2000-04-09  Andreas Jaeger  <aj@suse.de>

	* elf/readlib.c (process_file): Check if file is big enough to
	contain aout and ELF headers.
	Reported by Reinhard Moosauer <RMoosauer@steinecker.com>.

2000-04-10  Jes Sorensen  <Jes.Sorensen@cern.ch>

	* elf/dl-fini.c: Include alloca.h to get proper prototype for alloca().

2000-04-11  Ulrich Drepper  <drepper@redhat.com>

	* test-skeleton.c (main): If STDOUT_UNBUFFERED is defined, make stdout
	stream unbuffered.
	* rt/Makefile (tests): Add tst-clock.
	Add rules to build tst-clock.
	* rt/tst-clock.c: New file.
	* sysdeps/unix/i386/i586/clock_getres.c: Correct expression to decide
	about initialization of nsec.
	* sysdeps/unix/i386/i586/clock_gettime.c: Correct expression to decide
	about initialization of freq.  Set retval to zero if successful.
	* sysdeps/unix/sysv/linux/i386/get_clockfreq.c: Cache result.
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386/get_clockfreq.c')
-rw-r--r--sysdeps/unix/sysv/linux/i386/get_clockfreq.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/get_clockfreq.c b/sysdeps/unix/sysv/linux/i386/get_clockfreq.c
index 28f56c8fc3..65b7bb2116 100644
--- a/sysdeps/unix/sysv/linux/i386/get_clockfreq.c
+++ b/sysdeps/unix/sysv/linux/i386/get_clockfreq.c
@@ -29,9 +29,13 @@ __get_clockfreq (void)
      least one line like
 	cpu MHz         : 497.840237
      We search for this line and convert the number in an integer.  */
-  unsigned long long int result = 0ull;
+  static unsigned long long int result;
   int fd;
 
+  /* If this function was called before, we know the result.  */
+  if (result != 0)
+    return result;
+
   fd = open ("/proc/cpuinfo", O_RDONLY);
   if (__builtin_expect (fd != -1, 1))
     {