// RUN: %libomp-compile && env OMP_WAIT_POLICY=active %libomp-run active // RUN: %libomp-compile && env OMP_WAIT_POLICY=passive %libomp-run passive // // OMP_WAIT_POLICY=active should imply blocktime == INT_MAX // i.e., threads spin-wait forever // OMP_WAIT_POLICY=passive should imply blocktime == 0 // i.e., threads immediately sleep #include #include #include #include "omp_testsuite.h" void usage() { fprintf(stderr, "usage: omp_wait_policy active|passive\n"); } int main(int argc, char** argv) { int blocktime, retval=1; const char* env_var_value; if (argc != 2) { usage(); return 1; } blocktime = kmp_get_blocktime(); env_var_value = argv[1]; if (!strcmp(env_var_value, "active")) { retval = (blocktime != INT_MAX); } else if (!strcmp(env_var_value, "passive")) { retval = (blocktime != 0); } else { usage(); retval = 1; } return retval; }