changeset 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 26d50f1e4b29
children 464f5f2cba21
files src/pthreads-test.c src/pthreads.mk
diffstat 2 files changed, 44 insertions(+), 0 deletions(-) [+]
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;
+}
--- 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