2003-03-02  Ulrich Drepper  <drepper@redhat.com>

	* 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.
This commit is contained in:
Ulrich Drepper 2003-03-03 05:29:09 +00:00
parent e5497892bb
commit 885bafa14a
4 changed files with 44 additions and 4 deletions

View File

@ -1,3 +1,28 @@
2003-03-02 Ulrich Drepper <drepper@redhat.com>
* 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 <roland@redhat.com>
* scripts/merge-abilist.awk: More checks for bogus input.

View File

@ -1,5 +1,8 @@
2003-03-02 Ulrich Drepper <drepper@redhat.com>
* 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.

View File

@ -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,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;

View File

@ -1,5 +1,9 @@
2003-03-02 Ulrich Drepper <drepper@redhat.com>
* 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.