summaryrefslogtreecommitdiffstats
path: root/Modules/CheckForPthreads.c
diff options
context:
space:
mode:
authorAndy Cedilnik <andy.cedilnik@kitware.com>2003-08-01 20:48:41 (GMT)
committerAndy Cedilnik <andy.cedilnik@kitware.com>2003-08-01 20:48:41 (GMT)
commitff5f0312deff4e67ad68e541f4d3744ab956c3ae (patch)
treeaa227f202015ac0457da0460fad9edd5fd0f9c17 /Modules/CheckForPthreads.c
parentcb4e99f712ffd78ed1177421d8f934204297e5d7 (diff)
downloadCMake-ff5f0312deff4e67ad68e541f4d3744ab956c3ae.zip
CMake-ff5f0312deff4e67ad68e541f4d3744ab956c3ae.tar.gz
CMake-ff5f0312deff4e67ad68e541f4d3744ab956c3ae.tar.bz2
ENH: Do better test for pthreads
Diffstat (limited to 'Modules/CheckForPthreads.c')
-rw-r--r--Modules/CheckForPthreads.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/Modules/CheckForPthreads.c b/Modules/CheckForPthreads.c
new file mode 100644
index 0000000..0f57245
--- /dev/null
+++ b/Modules/CheckForPthreads.c
@@ -0,0 +1,30 @@
+#include <stdio.h>
+#include <pthread.h>
+#include <unistd.h>
+
+void* runner(void*);
+
+int res = 0;
+int main()
+{
+ pthread_t tid[2];
+ pthread_create(&tid[0], 0, runner, (void*)1);
+ pthread_create(&tid[1], 0, runner, (void*)2);
+
+ usleep(1); // for strange behavior on single-processor sun
+ pthread_join(tid[0], 0);
+ pthread_join(tid[1], 0);
+
+ return res;
+}
+
+void* runner(void* args)
+{
+ int cc;
+ for ( cc = 0; cc < 10; cc ++ )
+ {
+ printf("%d CC: %d\n", (int)args, cc);
+ }
+ res ++;
+ return 0;
+}