From 5b826fe110d9cde198d2aae27e144ac635ad921f Mon Sep 17 00:00:00 2001 From: rpj Date: Sun, 3 Jun 2001 16:41:27 +0000 Subject: pthreads: 2001-06-03 Ross Johnson Contributed by - Alexander Terekhov - Louis Thomas * condvar.c (pthread_cond_init): Completely revamped. (pthread_cond_destroy): Likewise. (ptw32_cond_wait_cleanup): Likewise. (ptw32_cond_timedwait): Likewise. (ptw32_cond_unblock): New general signaling routine. (pthread_cond_signal): Now calls ptw32_cond_unblock. (pthread_cond_broadcast): Likewise. * implement.h (pthread_cond_t_): Revamped. * README.CV: New; explanation of the above changes. pthreads/tests: 2001-06-3 Ross Johnson * condvar2_1.c: New test. * condvar3_1.c: New test. * condvar3_2.c: New test. --- tests/condvar2.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'tests/condvar2.c') diff --git a/tests/condvar2.c b/tests/condvar2.c index beae323..369cef6 100644 --- a/tests/condvar2.c +++ b/tests/condvar2.c @@ -1,5 +1,5 @@ /* - * File: condvar1.c + * File: condvar2.c * * Test Synopsis: * - Test timed wait on a CV. @@ -47,6 +47,8 @@ pthread_cond_t cv; pthread_mutex_t mutex; +#include "../implement.h" + int main() { @@ -72,10 +74,19 @@ main() assert(pthread_mutex_unlock(&mutex) == 0); - assert(pthread_cond_destroy(&cv) == 0); + { + int result = pthread_cond_destroy(&cv); + if (result != 0) + { + fprintf(stderr, "Result = %s\n", error_string[result]); + fprintf(stderr, "\tWaitersBlocked = %ld\n", cv->nWaitersBlocked); + fprintf(stderr, "\tWaitersUnblocked = %ld\n", cv->nWaitersUnblocked); + fprintf(stderr, "\tWaitersGone = %ld\n", cv->nWaitersGone); + fprintf(stderr, "\tWaitersToUnblock = %ld\n", cv->nWaitersToUnblock); + fflush(stderr); + } + assert(result == 0); + } return 0; } - - - -- cgit v1.2.3