diff options
author | Volker Grabsch <vog@notjusthosting.com> | 2010-05-16 16:06:17 (GMT) |
---|---|---|
committer | Volker Grabsch <vog@notjusthosting.com> | 2010-05-16 16:06:17 (GMT) |
commit | 335a9b234263af534ba8c1330528d9db823c8da2 (patch) | |
tree | ca348448cd8908a596474010b0d1300051194ec8 /src/pthreads-test.c | |
parent | b6ee0378c5a00d9cfadb6c308a513bed6c6ef845 (diff) | |
download | mxe-335a9b234263af534ba8c1330528d9db823c8da2.zip mxe-335a9b234263af534ba8c1330528d9db823c8da2.tar.gz mxe-335a9b234263af534ba8c1330528d9db823c8da2.tar.bz2 |
test program for package pthreads (by Martin Lambers)
Diffstat (limited to 'src/pthreads-test.c')
-rw-r--r-- | src/pthreads-test.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/pthreads-test.c b/src/pthreads-test.c new file mode 100644 index 0000000..fe212b5 --- /dev/null +++ b/src/pthreads-test.c @@ -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; +} |