From 885bafa14aaf7509f6cfc824d5b6c924c2f7a50f Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 3 Mar 2003 05:29:09 +0000 Subject: [PATCH] Update. 2003-03-02 Ulrich Drepper * sysdeps/generic/bits/time.h: Define CLOCK_MONOTONIC. * sysdeps/posix/clock_getres.c: Define code for CLOCK_REALTIME only if not already defined. Use SYSDEP_GETRES to allow other files to provide alternative implementations. * sysdeps/unix/sysv/linux/clock_getres.c: New file * sysdeps/unix/clock_gettime.c: Define code for CLOCK_REALTIME only if not already defined. Use SYSDEP_GETTIME to allow other files to provide alternative implementations. * sysdeps/unix/sysv/linux/clock_gettime.c: New file. * sysdeps/unix/clock_settime.c: Define code for CLOCK_REALTIME only if not already defined. Use SYSDEP_GETTIME to allow other files to provide alternative implementations. * sysdeps/unix/sysv/linux/clock_settime.c: New file. * sysdeps/unix/clock_nanosleep.c: Use SYSDEP_NANOSLEEP to allow other files to provide alternative implementations. Rearrange tests for invalid parameters. * sysdeps/unix/sysv/linux/clock_nanosleep.c: New file. * sysdeps/unix/sysv/linux/sysconf.c: New file. * sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_POSIX_TIMERS for Linux 2.4.63 and up. * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define _POSIX_MONOTONIC_CLOCK. --- ChangeLog | 25 +++++++++++++++++++++ linuxthreads/ChangeLog | 3 +++ linuxthreads/sysdeps/pthread/timer_create.c | 16 +++++++++---- nptl/ChangeLog | 4 ++++ 4 files changed, 44 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index c76640e05d..d5bb04f8f6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,28 @@ +2003-03-02 Ulrich Drepper + + * sysdeps/generic/bits/time.h: Define CLOCK_MONOTONIC. + * sysdeps/posix/clock_getres.c: Define code for CLOCK_REALTIME only + if not already defined. Use SYSDEP_GETRES to allow other files to + provide alternative implementations. + * sysdeps/unix/sysv/linux/clock_getres.c: New file + * sysdeps/unix/clock_gettime.c: Define code for CLOCK_REALTIME only + if not already defined. Use SYSDEP_GETTIME to allow other files to + provide alternative implementations. + * sysdeps/unix/sysv/linux/clock_gettime.c: New file. + * sysdeps/unix/clock_settime.c: Define code for CLOCK_REALTIME only + if not already defined. Use SYSDEP_GETTIME to allow other files to + provide alternative implementations. + * sysdeps/unix/sysv/linux/clock_settime.c: New file. + * sysdeps/unix/clock_nanosleep.c: Use SYSDEP_NANOSLEEP to allow + other files to provide alternative implementations. Rearrange + tests for invalid parameters. + * sysdeps/unix/sysv/linux/clock_nanosleep.c: New file. + * sysdeps/unix/sysv/linux/sysconf.c: New file. + * sysdeps/unix/sysv/linux/kernel-features.h: Define + __ASSUME_POSIX_TIMERS for Linux 2.4.63 and up. + * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define + _POSIX_MONOTONIC_CLOCK. + 2003-03-02 Roland McGrath * scripts/merge-abilist.awk: More checks for bogus input. diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index eb563bcbe5..b53e6ab156 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,5 +1,8 @@ 2003-03-02 Ulrich Drepper + * sysdeps/pthread/timer_create.c (timer_create): Return correct + error for CPU clocks. + * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define _POSIX_MONOTONIC_CLOCK. * sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise. diff --git a/linuxthreads/sysdeps/pthread/timer_create.c b/linuxthreads/sysdeps/pthread/timer_create.c index b34f70e8c1..795f94c7d2 100644 --- a/linuxthreads/sysdeps/pthread/timer_create.c +++ b/linuxthreads/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 . @@ -37,14 +37,22 @@ 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; diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 2026a0c0b0..0b8afcdab6 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,5 +1,9 @@ 2003-03-02 Ulrich Drepper + * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define + _POSIX_MONOTONIC_CLOCK. + * sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise. + * tst-cancel4.c (tf_sleep): Lower sleep time a bit to not upset recent kernels.