diff options
Diffstat (limited to 'tests/equal1.c')
-rw-r--r-- | tests/equal1.c | 39 |
1 files changed, 26 insertions, 13 deletions
diff --git a/tests/equal1.c b/tests/equal1.c index e877990..d882adc 100644 --- a/tests/equal1.c +++ b/tests/equal1.c @@ -1,34 +1,47 @@ +/* + * Test for pthread_equal. + * + * Depends on functions: pthread_create(). + */ + #include <pthread.h> #include <stdio.h> #include <windows.h> void * func(void * arg) { - printf("Hello world %d\n", (int) arg); Sleep(2000); - return arg; + return 0; } main() { int rc; pthread_t t1, t2; - rc = pthread_create(&t1, NULL, func, (void *) 1); - rc = pthread_create(&t2, NULL, func, (void *) 2); + if (pthread_create(&t1, NULL, func, (void *) 1) != 0) + { + return 1; + } + + if (pthread_create(&t2, NULL, func, (void *) 2) != 0) + { + return 1; + } - puts("testing t1 and t2: "); if (pthread_equal(t1, t2)) - printf("equal\n"); - else - printf("not equal\n"); + { + return 1; + } - puts("testing t1 on itself: "); - if (pthread_equal(t1,t1)) - printf("equal\n"); - else - printf("not equal\n"); + if (pthread_equal(t1,t1) == 0) + { + return 1; + } + /* This is a hack. We don't want to rely on pthread_join + yet if we can help it. */ Sleep(8000); + /* Success. */ return 0; } |