diff options
Diffstat (limited to 'tests/equal.c')
-rw-r--r-- | tests/equal.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/equal.c b/tests/equal.c new file mode 100644 index 0000000..12dbfc2 --- /dev/null +++ b/tests/equal.c @@ -0,0 +1,39 @@ +/* + * Test for pthread_equal(). + * + * Depends on API functions: pthread_create(). + */ + +#include <pthread.h> +#include <stdlib.h> +#include <stdio.h> + +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; +} |