diff options
Diffstat (limited to 'tests/exit2.c')
-rw-r--r-- | tests/exit2.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/exit2.c b/tests/exit2.c new file mode 100644 index 0000000..40f218b --- /dev/null +++ b/tests/exit2.c @@ -0,0 +1,32 @@ +/* + * Test for pthread_exit(). + * + * Depends on API functions: pthread_create(). + */ + +#include <pthread.h> +#include <stdio.h> + +void * +func(void * arg) +{ + printf("Hello world\n"); + pthread_exit(arg); +} + +int +main(int argc, char * argv[]) +{ + pthread_t id[2]; + int i; + + /* Create a few threads, make them say hello and then exit. */ + + for (i = 0; i < 4; i++) + { + pthread_create(&id, NULL, entry, (void *) i); + } + + /* Semantics should be the same as POSIX. Wait for the workers. */ + pthread_exit((void *) 0); +} |