diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-03-03 07:29:24 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-03-03 07:29:24 +0000 |
commit | 5324b81cb30633139c94ccd3b11817d4298fab32 (patch) | |
tree | 07a2e7053a9890ed09461def0c3609b796bc467c /nptl/sysdeps/pthread/timer_create.c | |
parent | f5d31593775dc42b5e7e8db6de8502332659e7f8 (diff) | |
download | glibc-5324b81cb30633139c94ccd3b11817d4298fab32.tar.gz glibc-5324b81cb30633139c94ccd3b11817d4298fab32.tar.xz glibc-5324b81cb30633139c94ccd3b11817d4298fab32.zip |
(timer_create): Return correct error for CPU clocks.
Diffstat (limited to 'nptl/sysdeps/pthread/timer_create.c')
-rw-r--r-- | nptl/sysdeps/pthread/timer_create.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/nptl/sysdeps/pthread/timer_create.c b/nptl/sysdeps/pthread/timer_create.c index b34f70e8c1..795f94c7d2 100644 --- a/nptl/sysdeps/pthread/timer_create.c +++ b/nptl/sysdeps/pthread/timer_create.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Kaz Kylheku <kaz@ashi.footprints.net>. @@ -37,15 +37,23 @@ timer_create (clock_id, evp, timerid) struct timer_node *newtimer = NULL; struct thread_node *thread = NULL; - if (clock_id != CLOCK_REALTIME + if (0 #ifdef _POSIX_CPUTIME - && clock_id != CLOCK_PROCESS_CPUTIME_ID + || clock_id == CLOCK_PROCESS_CPUTIME_ID #endif #ifdef _POSIX_THREAD_CPUTIME - && clock_id != CLOCK_THREAD_CPUTIME_ID + || clock_id == CLOCK_THREAD_CPUTIME_ID #endif ) { + /* We don't allow timers for CPU clocks. At least not in the + moment. */ + __set_errno (ENOTSUP); + return -1; + } + + if (clock_id != CLOCK_REALTIME) + { __set_errno (EINVAL); return -1; } |