summary refs log tree commit diff
path: root/linuxthreads/sysdeps/pthread/getcpuclockid.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-04-24 05:18:27 +0000
committerUlrich Drepper <drepper@redhat.com>2001-04-24 05:18:27 +0000
commit295125c54256c6df5599aa23029cb3eb6e2f2e33 (patch)
tree5a072a6caad89c9905346aeb69672b13ac575d36 /linuxthreads/sysdeps/pthread/getcpuclockid.c
parent7e9463020bc7ef69f66eb4bb27c1a1e065cdc90c (diff)
downloadglibc-295125c54256c6df5599aa23029cb3eb6e2f2e33.tar.gz
glibc-295125c54256c6df5599aa23029cb3eb6e2f2e33.tar.xz
glibc-295125c54256c6df5599aa23029cb3eb6e2f2e33.zip
Update.
	* sysdeps/ia64/Makefile [subdir=csu] (sysdep_routines): Add hp-timing.
	* sysdeps/ia64/Versions: Add _dl_cpuclock_offset for ld in 2.2.3.
	* sysdeps/ia64/hp-timing.c: New file.
	* sysdeps/ia64/hp-timing.h: New file.
	* sysdeps/unix/sysv/linux/ia64/bits/time.h: Add definitions for
	CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID.

	* sysdeps/generic/clock_getcpuclockid.c: Make function generic, test
	using #ifdef whether the clock is available.
	* sysdeps/unix/i386/clock_getcpuclockid.c: Not needed anymore.

	* sysdeps/generic/dl-sysdep.c: Initialize _dl_cpuclock_offset to move
	it into data section.
Diffstat (limited to 'linuxthreads/sysdeps/pthread/getcpuclockid.c')
-rw-r--r--linuxthreads/sysdeps/pthread/getcpuclockid.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/linuxthreads/sysdeps/pthread/getcpuclockid.c b/linuxthreads/sysdeps/pthread/getcpuclockid.c
index ef1f84fd3e..76d39a5de4 100644
--- a/linuxthreads/sysdeps/pthread/getcpuclockid.c
+++ b/linuxthreads/sysdeps/pthread/getcpuclockid.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2001 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
@@ -19,10 +19,22 @@
 #include <errno.h>
 #include <pthread.h>
 #include <sys/time.h>
+#include <internals.h>
 
 int
-pthread_getcpuclockid (pthread_t pthread_id, clockid_t *clock_id)
+pthread_getcpuclockid (pthread_t thread_id, clockid_t *clock_id)
 {
+  /* We don't allow any process ID but our own.  */
+  if (thread_handle (thread_id)->h_descr != thread_self ())
+    return EPERM;
+
+#ifdef CLOCK_THREAD_CPUTIME_ID
+  /* Store the number.  */
+  *clock_id = CLOCK_THREAD_CPUTIME_ID;
+
+  return 0;
+#else
   /* We don't have a timer for that.  */
   return ENOENT;
+#endif
 }