diff options
Diffstat (limited to 'tests/exit3.c')
-rw-r--r-- | tests/exit3.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/exit3.c b/tests/exit3.c new file mode 100644 index 0000000..f15b39d --- /dev/null +++ b/tests/exit3.c @@ -0,0 +1,36 @@ +/* + * Test for pthread_exit(). + * + * Depends on API functions: pthread_create(). + */ + +#include <pthread.h> +#include <stdio.h> + +void * +func(void * arg) +{ + pthread_exit(arg); + + /* Never reached. */ + return 0; +} + +int +main(int argc, char * argv[]) +{ + pthread_t id[4]; + int i; + + /* Create a few threads and then exit. */ + for (i = 0; i < 4; i++) + { + if (pthread_create(&id[i], NULL, func, (void *) i) != 0) + { + return 1; + } + } + + /* Success. */ + return 0; +} |