123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- /* Trivial test of thread startup. */
- #include <omp.h>
- #include <string.h>
- #include <assert.h>
- #include "libgomp_g.h"
- static int nthr;
- static int saw[4];
- static void function(void *dummy)
- {
- int iam = omp_get_thread_num ();
- if (iam == 0)
- nthr = omp_get_num_threads ();
- saw[iam] = 1;
- }
- int main()
- {
- omp_set_dynamic (0);
- GOMP_parallel_start (function, NULL, 2);
- function (NULL);
- GOMP_parallel_end ();
- assert (nthr == 2);
- assert (saw[0] != 0);
- assert (saw[1] != 0);
- assert (saw[2] == 0);
- memset (saw, 0, sizeof (saw));
-
- GOMP_parallel_start (function, NULL, 3);
- function (NULL);
- GOMP_parallel_end ();
- assert (nthr == 3);
- assert (saw[0] != 0);
- assert (saw[1] != 0);
- assert (saw[2] != 0);
- assert (saw[3] == 0);
- return 0;
- }
|