Mercurial > mxe-octave
diff src/pthreads-test.c @ 982:4d2e6c7c2cc2
test program for package pthreads (by Martin Lambers)
author | Volker Grabsch <vog@notjusthosting.com> |
---|---|
date | Sun, 16 May 2010 18:06:17 +0200 |
parents | |
children | e55bb62b2970 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/pthreads-test.c Sun May 16 18:06:17 2010 +0200 @@ -0,0 +1,39 @@ +/* This file is part of mingw-cross-env. */ +/* See doc/index.html for further information. */ + +#include <stdio.h> +#include <pthread.h> + +#define N 10 + +void *thread_fn(void *p) +{ + const int *arg = p; + fprintf(stderr, "Hello from thread %d\n", *arg); + return NULL; +} + +int main(int argc, char *argv[]) +{ + pthread_t threads[N]; + int args[N]; + int i; + + (void)argc; + (void)argv; + + for (i = 0; i < N; i++) { + args[i] = i; + if (pthread_create(threads + i, NULL, thread_fn, args + i) != 0) { + return 1; + } + } + + for (i = 0; i < N; i++) { + if (pthread_join(threads[i], NULL) != 0) { + return 2; + } + } + + return 0; +}