diff options
Diffstat (limited to 'test/pthread/ex6.c')
-rw-r--r-- | test/pthread/ex6.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/test/pthread/ex6.c b/test/pthread/ex6.c new file mode 100644 index 0000000..ffb6287 --- /dev/null +++ b/test/pthread/ex6.c @@ -0,0 +1,44 @@ +#include <errno.h> +#include <stdio.h> +#include <string.h> +#include <pthread.h> +#include <time.h> + +static void * +test_thread (void *v_param) +{ + return NULL; +} + +int +main (void) +{ + unsigned long count; + struct timespec ts; + ts.tv_sec = 0; + ts.tv_nsec = 10 * 1000; + + setvbuf (stdout, NULL, _IONBF, 0); + + for (count = 0; count < 2000; ++count) + { + pthread_t thread; + int status; + + status = pthread_create (&thread, NULL, test_thread, NULL); + if (status != 0) + { + printf ("status = %d, count = %lu: %s\n", status, count, + strerror (errno)); + return 1; + } + else + { + printf ("count = %lu\n", count); + } + /* pthread_detach (thread); */ + pthread_join (thread, NULL); + nanosleep (&ts, NULL); + } + return 0; +} |