about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--include/features.h6
-rw-r--r--nptl/ChangeLog6
-rw-r--r--nptl/sysdeps/unix/sysv/linux/timer_gettime.c2
-rw-r--r--nptl/sysdeps/unix/sysv/linux/timer_settime.c2
5 files changed, 16 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 44e4bb74fc..bef0e34508 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2003-05-16  Ulrich Drepper  <drepper@redhat.com>
 
+	* include/features.h (__USE_XOPEN2K): Define also for
+	_POSIX_C_SOURCE>=200112L.
+
 	* sysdeps/unix/sysv/linux/sigwaitinfo.c (do_sigwaitinfo): Fold
 	SI_TKILL code into SI_USER.
 	* sysdeps/unix/sysv/linux/sigtimedwait.c (do_sigtimedwait): Likewise.
diff --git a/include/features.h b/include/features.h
index 5e39b7fcc9..f9735dc66f 100644
--- a/include/features.h
+++ b/include/features.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1993,1995-2000,2001,2002 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1993,1995-2002, 2003   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
@@ -188,6 +188,10 @@
 # define __USE_POSIX199506	1
 #endif
 
+#if (_POSIX_C_SOURCE - 0) >= 200112L
+# define __USE_XOPEN2K		1
+#endif
+
 #ifdef	_XOPEN_SOURCE
 # define __USE_XOPEN	1
 # if (_XOPEN_SOURCE - 0) >= 500
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 60b03f764d..d753b95fbb 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,5 +1,11 @@
 2003-05-16  Ulrich Drepper  <drepper@redhat.com>
 
+	* sysdeps/unix/sysv/linux/timer_gettime.c (timer_gettime): Correct
+	test for syscall availability.
+
+	* sysdeps/unix/sysv/linux/timer_settime.c (timer_settime): Set
+	__no_posix_timers to -1 if the syscalls don't exist.
+
 	* pthread_join.c (pthread_join): Set tid field of the joined
 	thread to -1.  This isn't necessary but helps to recognize some
 	error conditions with almost no cost.
diff --git a/nptl/sysdeps/unix/sysv/linux/timer_gettime.c b/nptl/sysdeps/unix/sysv/linux/timer_gettime.c
index 6da15718ed..9066e1077f 100644
--- a/nptl/sysdeps/unix/sysv/linux/timer_gettime.c
+++ b/nptl/sysdeps/unix/sysv/linux/timer_gettime.c
@@ -44,7 +44,7 @@ timer_gettime (timerid, value)
 {
 # undef timer_gettime
 # ifndef __ASSUME_POSIX_TIMERS
-  if (__no_posix_timers == 0)
+  if (__no_posix_timers >= 0)
 # endif
     {
       struct timer *kt = (struct timer *) timerid;
diff --git a/nptl/sysdeps/unix/sysv/linux/timer_settime.c b/nptl/sysdeps/unix/sysv/linux/timer_settime.c
index 37ebf1dd53..50ebb193a0 100644
--- a/nptl/sysdeps/unix/sysv/linux/timer_settime.c
+++ b/nptl/sysdeps/unix/sysv/linux/timer_settime.c
@@ -67,7 +67,7 @@ timer_settime (timerid, flags, value, ovalue)
 # endif
 
 # ifndef __ASSUME_POSIX_TIMERS
-      __no_posix_timers = 1;
+      __no_posix_timers = -1;
 # endif
     }