From 430b33ab4111b56a8ef96440d8c352fcbcb5fb1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20Gr=C3=BCninger?= <gruenich@dune-project.org> Date: Fri, 10 Apr 2015 11:42:19 +0200 Subject: [PATCH] [CMake] To check for pthreads we need CheckForPThreads.c, too. --- cmake/modules/CheckForPthreads.c | 41 ++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 cmake/modules/CheckForPthreads.c diff --git a/cmake/modules/CheckForPthreads.c b/cmake/modules/CheckForPthreads.c new file mode 100644 index 000000000..681ef0a77 --- /dev/null +++ b/cmake/modules/CheckForPthreads.c @@ -0,0 +1,41 @@ +// file copied from CMake 3.2.1, +// remove together with FindThreadsCMake31.cmake + +#include <stdio.h> +#include <pthread.h> +#include <unistd.h> + +void* runner(void*); + +int res = 0; +#ifdef __CLASSIC_C__ +int main(){ + int ac; + char*av[]; +#else +int main(int ac, char*av[]){ +#endif + pthread_t tid[2]; + pthread_create(&tid[0], 0, runner, (void*)1); + pthread_create(&tid[1], 0, runner, (void*)2); + +#if defined(__BEOS__) && !defined(__ZETA__) // (no usleep on BeOS 5.) + usleep(1); // for strange behavior on single-processor sun +#endif + + pthread_join(tid[0], 0); + pthread_join(tid[1], 0); + if(ac > 1000){return *av[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; +} -- GitLab