diff options
Diffstat (limited to 'openmp/runtime/src/z_Linux_util.cpp')
-rw-r--r-- | openmp/runtime/src/z_Linux_util.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/openmp/runtime/src/z_Linux_util.cpp b/openmp/runtime/src/z_Linux_util.cpp index b9490ea65d3..8cba1ff5607 100644 --- a/openmp/runtime/src/z_Linux_util.cpp +++ b/openmp/runtime/src/z_Linux_util.cpp @@ -1812,13 +1812,16 @@ __kmp_resume_monitor() void __kmp_yield( int cond ) { - if (cond + if (!cond) + return; #if KMP_USE_MONITOR - && __kmp_yielding_on + if (!__kmp_yielding_on) + return; +#else + if (__kmp_yield_cycle && !KMP_YIELD_NOW()) + return; #endif - ) { - sched_yield(); - } + sched_yield(); } /* ------------------------------------------------------------------------ */ |