diff options
Diffstat (limited to 'linuxthreads/sysdeps/pthread/getcpuclockid.c')
-rw-r--r-- | linuxthreads/sysdeps/pthread/getcpuclockid.c | 16 |
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 } |