From: Ulrich Drepper Date: Sat, 18 Jul 2009 19:45:27 +0000 (-0700) Subject: Extend pthread_cond_timedwait tests. X-Git-Tag: glibc-2.11~234 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f8b6cd2182494252fdddafe72331b631afac08d8;p=platform%2Fupstream%2Fglibc.git Extend pthread_cond_timedwait tests. --- diff --git a/nptl/ChangeLog b/nptl/ChangeLog index c7e1d04..d5b812e 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,5 +1,8 @@ 2009-07-18 Ulrich Drepper + * tst-cond11.c (run_test): Add test to check that the timeout is + long enough. + * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S (__pthread_cond_timedwait): If possible use FUTEX_WAIT_BITSET to directly use absolute timeout. diff --git a/nptl/tst-cond11.c b/nptl/tst-cond11.c index 0de4d56..4d0c7dd 100644 --- a/nptl/tst-cond11.c +++ b/nptl/tst-cond11.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2003, 2004 Free Software Foundation, Inc. +/* Copyright (C) 2003, 2004, 2009 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2003. @@ -130,6 +130,20 @@ run_test (clockid_t cl) return 1; } + struct timespec ts2; + if (clock_gettime (cl, &ts2) != 0) + { + puts ("second clock_gettime failed"); + return 1; + } + + if (ts2.tv_sec < ts.tv_sec + || (ts2.tv_sec == ts.tv_sec && ts2.tv_nsec < ts.tv_nsec)) + { + puts ("timeout too short"); + return 1; + } + if (pthread_mutex_unlock (&mut) != 0) { puts ("mutex_unlock failed");