# HG changeset patch # User Volker Grabsch # Date 1274025977 -7200 # Node ID 4d2e6c7c2cc2bf43adb54d91406ee5d4184a3ef9 # Parent 26d50f1e4b297a80c153bf9317ef6c99d4ace16b test program for package pthreads (by Martin Lambers) diff -r 26d50f1e4b29 -r 4d2e6c7c2cc2 src/pthreads-test.c --- /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 +#include + +#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; +} diff -r 26d50f1e4b29 -r 4d2e6c7c2cc2 src/pthreads.mk --- a/src/pthreads.mk Sat May 15 20:45:27 2010 +0200 +++ b/src/pthreads.mk Sun May 16 18:06:17 2010 +0200 @@ -31,4 +31,9 @@ $(INSTALL) -m664 '$(1)/pthread.h' '$(PREFIX)/$(TARGET)/include/' $(INSTALL) -m664 '$(1)/sched.h' '$(PREFIX)/$(TARGET)/include/' $(INSTALL) -m664 '$(1)/semaphore.h' '$(PREFIX)/$(TARGET)/include/' + + '$(TARGET)-gcc' \ + -W -Wall -Werror -ansi -pedantic \ + '$(2).c' -o '$(PREFIX)/$(TARGET)/bin/test-pthreads.exe' \ + -lpthread -lws2_32 endef