aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm-project/openmp/runtime/src/z_Windows_NT_util.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm-project/openmp/runtime/src/z_Windows_NT_util.cpp')
-rw-r--r--contrib/llvm-project/openmp/runtime/src/z_Windows_NT_util.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/contrib/llvm-project/openmp/runtime/src/z_Windows_NT_util.cpp b/contrib/llvm-project/openmp/runtime/src/z_Windows_NT_util.cpp
index 0a0801c7ece2..8fa198563a79 100644
--- a/contrib/llvm-project/openmp/runtime/src/z_Windows_NT_util.cpp
+++ b/contrib/llvm-project/openmp/runtime/src/z_Windows_NT_util.cpp
@@ -1327,16 +1327,18 @@ static void __kmp_reap_common(kmp_info_t *th) {
// KMP_WAIT to cover this usage also.
void *obj = NULL;
kmp_uint32 spins;
+ kmp_uint64 time;
#if USE_ITT_BUILD
KMP_FSYNC_SPIN_INIT(obj, (void *)&th->th.th_info.ds.ds_alive);
#endif /* USE_ITT_BUILD */
KMP_INIT_YIELD(spins);
+ KMP_INIT_BACKOFF(time);
do {
#if USE_ITT_BUILD
KMP_FSYNC_SPIN_PREPARE(obj);
#endif /* USE_ITT_BUILD */
__kmp_is_thread_alive(th, &exit_val);
- KMP_YIELD_OVERSUB_ELSE_SPIN(spins);
+ KMP_YIELD_OVERSUB_ELSE_SPIN(spins, time);
} while (exit_val == STILL_ACTIVE && TCR_4(th->th.th_info.ds.ds_alive));
#if USE_ITT_BUILD
if (exit_val == STILL_ACTIVE) {