the kmp_task_team_t structs. */
if (KMP_MASTER_TID(tid)) {
if (__kmp_tasking_mode != tskm_immediate_exec) {
- // Master shouldn't call decrease_load(). // TODO: enable master threads.
- // Master should have th_may_decrease_load == 0. // TODO: enable master threads.
__kmp_task_team_wait(this_thr, team
USE_ITT_BUILD_ARG(itt_sync_obj) );
}
// When the process terminates, worker threads disappear triggering
// the problem of unreleased forkjoin lock as described below.
- // A worker thread can take the forkjoin lock
- // in __kmp_suspend_template()->__kmp_rml_decrease_load_before_sleep().
+ // A worker thread can take the forkjoin lock.
// The problem comes up if that worker thread becomes dead
// before it releases the forkjoin lock.
// The forkjoin lock remains taken, while the thread
//
// The thread was killed asynchronously. If it was actively
- // spinning in the in the thread pool, decrement the global count.
+ // spinning in the thread pool, decrement the global count.
//
// There is a small timing hole here - if the worker thread was
// just waking up after sleeping in the pool, had reset it's
#include "kmp_io.h"
#include "kmp_wait_release.h"
-
-
-/* ----------------------------------------------------------------------------------- */
-/* ----------------------------------------------------------------------------------- */
-
/* This code is related to NtQuerySystemInformation() function. This function
is used in the Load balance algorithm for OMP_DYNAMIC=true to find the
number of running threads in the system. */