From f1762c0c4b3ba91073f82da02a16d8ee29ed7444 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 3 Aug 2006 08:17:20 +0000 Subject: [BZ #2978] 2006-08-03 Ulrich Drepper * rt/Makefile (tests): Add tst-clock2. * rt/tst-clock2.c: New file. [BZ #2978] * resolv/gai_notify.c (__gai_notify_only): Copy memory for thread function and its parameters and pass it to new thread. (__gai_notify): Add support for alternative waiting for completion. * resolv/gai_suspend.c (gai_suspend): Add support for alternative waiting for completion. * resolv/getaddrinfo_a.c: Likewise. * resolv/gai_misc.h (struct waitlist): Don't add cond if alternative waiting for completion is used. * resolv/gai_misc.c: Allow overwriting code to start helper thread. * resolv/gai_cancel.c: Include not "gai_misc.h". * resolv/gai_error.c: Likewise. * resolv/gai_sigqueue.c: Likewise. * hurd/getdport.c (__detdport): Don't return EBADF; instead set errno to EBADF and return MACH_PORT_NULL. * posix/Makefile (CFLAGS-waitid.c): Add -fasynchronous-unwind-tables. --- rt/Makefile | 3 ++- rt/tst-clock2.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 rt/tst-clock2.c (limited to 'rt') diff --git a/rt/Makefile b/rt/Makefile index f8487975dd..148ded996e 100644 --- a/rt/Makefile +++ b/rt/Makefile @@ -48,7 +48,8 @@ tests := tst-shm tst-clock tst-clock_nanosleep tst-timer tst-timer2 \ tst-mqueue5 tst-mqueue6 tst-mqueue7 tst-mqueue8 tst-mqueue9 \ tst-timer3 tst-timer4 tst-timer5 \ tst-cpuclock1 tst-cpuclock2 \ - tst-cputimer1 tst-cputimer2 tst-cputimer3 + tst-cputimer1 tst-cputimer2 tst-cputimer3 \ + tst-clock2 extra-libs := librt extra-libs-others := $(extra-libs) diff --git a/rt/tst-clock2.c b/rt/tst-clock2.c new file mode 100644 index 0000000000..4c8fb9f247 --- /dev/null +++ b/rt/tst-clock2.c @@ -0,0 +1,43 @@ +/* Test setting the monotonic clock. */ + +#include +#include + +#if defined CLOCK_MONOTONIC && defined _POSIX_MONOTONIC_CLOCK + +# include +# include + +static int +do_test (void) +{ + if (sysconf (_SC_MONOTONIC_CLOCK) <= 0) + return 0; + + struct timespec ts; + if (clock_gettime (CLOCK_MONOTONIC, &ts) != 0) + { + puts ("clock_gettime(CLOCK_MONOTONIC) failed"); + return 1; + } + + /* Setting the monotonic clock must fail. */ + if (clock_settime (CLOCK_MONOTONIC, &ts) != -1) + { + puts ("clock_settime(CLOCK_MONOTONIC) did not fail"); + return 1; + } + if (errno != EINVAL) + { + printf ("clock_settime(CLOCK_MONOTONIC) set errno to %d, expected %d\n", + errno, EINVAL); + return 1; + } + return 0; +} +# define TEST_FUNCTION do_test () + +#else +# define TEST_FUNCTION 0 +#endif +#include "../test-skeleton.c" -- cgit v1.2.1