From 11b839f08794de0d090811580a09aa6db5b21f2c Mon Sep 17 00:00:00 2001 From: bje Date: Sun, 4 Oct 1998 19:38:04 +0000 Subject: 1998-10-05 Ben Elliston * misc.c (pthread_equal): Correct inverted logic bug. * tests/create1.c: New file; test pthread_create(). Passes. * tests/equal.c: Poor test; remove. * tests/equal1.c New file; test pthread_equal(). Passes. --- tests/create1.c | 19 +++++++++++++++++++ tests/equal.c | 39 --------------------------------------- tests/equal1.c | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 39 deletions(-) create mode 100644 tests/create1.c delete mode 100644 tests/equal.c create mode 100644 tests/equal1.c (limited to 'tests') diff --git a/tests/create1.c b/tests/create1.c new file mode 100644 index 0000000..841c565 --- /dev/null +++ b/tests/create1.c @@ -0,0 +1,19 @@ +#include +#include +#include + +void * func(void * arg) +{ + printf("Hello world\n"); + return 0; +} + +int +main() +{ + pthread_t t; + pthread_create(&t, NULL, func, NULL); + + Sleep(5000); + return 0; +} diff --git a/tests/equal.c b/tests/equal.c deleted file mode 100644 index 12dbfc2..0000000 --- a/tests/equal.c +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Test for pthread_equal(). - * - * Depends on API functions: pthread_create(). - */ - -#include -#include -#include - -void * -func(void * arg) -{ - for (;;) - { /* spin */ } -} - -int -main(int argc, char * argv[]) -{ - pthread_t id[2]; - int rc; - - /* Create two threads and compare their thread IDs. - The threads will chew CPU, but ensure that their - IDs will be valid for a long time :-). */ - - pthread_create(&id[0], NULL, entry, NULL); - pthread_create(&id[1], NULL, entry, NULL); - - if (pthread_equal(id[0], id[1]) == 0) - { - /* This is impossible. */ - abort(); - } - - /* Never reached. */ - return 0; -} diff --git a/tests/equal1.c b/tests/equal1.c new file mode 100644 index 0000000..3b4c758 --- /dev/null +++ b/tests/equal1.c @@ -0,0 +1,34 @@ +#include +#include +#include + +void * func(void * arg) +{ + printf("Hello world %d\n", (int) arg); + Sleep(2000); + return arg; +} + +main() +{ + int rc; + pthread_t t1, t2; + rc = pthread_create(&t1, NULL, func, (void *) 1); + rc = pthread_create(&t1, NULL, func, (void *) 2); + + puts("testing t1 and t2: "); + if (pthread_equal(t1, t2)) + printf("equal\n"); + else + printf("not equal\n"); + + puts("testing t1 on itself: "); + if (pthread_equal(t1,t1)) + printf("equal\n"); + else + printf("not equal\n"); + + Sleep(8000); + + return 0; +} -- cgit v1.2.3