aboutsummaryrefslogtreecommitdiff
path: root/rt/tst-timer5.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2004-12-07 20:44:46 +0000
committerRoland McGrath <roland@gnu.org>2004-12-07 20:44:46 +0000
commitb321a6e3cc070ece1f388ea16a4eaab44d32963b (patch)
tree85aeebf99715e5e23fcbe1e42ec3ad85165ea530 /rt/tst-timer5.c
parent484cc8018b9e27a8fd90f15eaeee132a430131d8 (diff)
downloadglibc-b321a6e3cc070ece1f388ea16a4eaab44d32963b.zip
glibc-b321a6e3cc070ece1f388ea16a4eaab44d32963b.tar.gz
glibc-b321a6e3cc070ece1f388ea16a4eaab44d32963b.tar.bz2
2004-12-07 Roland McGrath <roland@redhat.com>
* rt/tst-timer5.c (setup_test): New function. (TEST_CLOCK_MISSING): Use it to punt test if timer_create does not support CLOCK_MONOTONIC.
Diffstat (limited to 'rt/tst-timer5.c')
-rw-r--r--rt/tst-timer5.c26
1 files changed, 25 insertions, 1 deletions
diff --git a/rt/tst-timer5.c b/rt/tst-timer5.c
index 2683021..6466c8e 100644
--- a/rt/tst-timer5.c
+++ b/rt/tst-timer5.c
@@ -4,10 +4,34 @@
#include <unistd.h>
#if defined CLOCK_MONOTONIC && defined _POSIX_MONOTONIC_CLOCK
+
# define TEST_CLOCK CLOCK_MONOTONIC
# define TEST_CLOCK_MISSING(clock) \
- (sysconf (_SC_MONOTONIC_CLOCK) > 0 ? NULL : #clock)
+ (setup_test () ? "CLOCK_MONOTONIC" : NULL)
+
+# include <stdio.h>
+
+static int
+setup_test (void)
+{
+ if (sysconf (_SC_MONOTONIC_CLOCK) <= 0)
+ return 1;
+
+ /* The user-level timers implementation doesn't support CLOCK_MONOTONIC,
+ even though sysconf claims it will. */
+ timer_t t;
+ if (timer_create (TEST_CLOCK, NULL, &t) != 0)
+ {
+ printf ("timer_create: %m\n");
+ return 1;
+ }
+ timer_delete (t);
+
+ return 0;
+}
+
# include "tst-timer4.c"
+
#else
# define TEST_FUNCTION 0
# include "../test-skeleton.c"