LLVM OpenMP 20.0.0git
Classes | Macros | Typedefs | Enumerations | Functions | Variables
z_Windows_NT_util.cpp File Reference
#include "kmp.h"
#include "kmp_affinity.h"
#include "kmp_i18n.h"
#include "kmp_io.h"
#include "kmp_itt.h"
#include "kmp_wait_release.h"
#include <ntsecapi.h>
#include <ntstatus.h>
#include <psapi.h>

Go to the source code of this file.

Classes

struct  CLIENT_ID
 
struct  VM_COUNTERS
 
struct  SYSTEM_THREAD
 
struct  SYSTEM_PROCESS_INFORMATION
 

Macros

#define CHECK(cond)
 

Typedefs

typedef SYSTEM_PROCESS_INFORMATIONPSYSTEM_PROCESS_INFORMATION
 
typedef NTSTATUS(NTAPI * NtQuerySystemInformation_t) (SYSTEM_INFORMATION_CLASS, PVOID, ULONG, PULONG)
 

Enumerations

enum  SYSTEM_INFORMATION_CLASS { SystemProcessInformation = 5 }
 
enum  THREAD_STATE {
  StateInitialized , StateReady , StateRunning , StateStandby ,
  StateTerminated , StateWait , StateTransition , StateUnknown
}
 

Functions

 KMP_BUILD_ASSERT (offsetof(SYSTEM_THREAD, KernelTime)==0)
 
 KMP_BUILD_ASSERT (offsetof(SYSTEM_THREAD, StartAddress)==32)
 
 KMP_BUILD_ASSERT (offsetof(SYSTEM_THREAD, State)==68)
 
 KMP_BUILD_ASSERT (offsetof(SYSTEM_PROCESS_INFORMATION, NextEntryOffset)==0)
 
 KMP_BUILD_ASSERT (offsetof(SYSTEM_PROCESS_INFORMATION, CreateTime)==32)
 
 KMP_BUILD_ASSERT (offsetof(SYSTEM_PROCESS_INFORMATION, ImageName)==56)
 
 KMP_BUILD_ASSERT (offsetof(SYSTEM_PROCESS_INFORMATION, ProcessId)==80)
 
 KMP_BUILD_ASSERT (offsetof(SYSTEM_PROCESS_INFORMATION, HandleCount)==96)
 
 KMP_BUILD_ASSERT (offsetof(SYSTEM_PROCESS_INFORMATION, VMCounters)==112)
 
 KMP_BUILD_ASSERT (offsetof(SYSTEM_PROCESS_INFORMATION, IOCounters)==208)
 
 KMP_BUILD_ASSERT (offsetof(SYSTEM_PROCESS_INFORMATION, Threads)==256)
 
void __kmp_win32_mutex_init (kmp_win32_mutex_t *mx)
 
void __kmp_win32_mutex_destroy (kmp_win32_mutex_t *mx)
 
void __kmp_win32_mutex_lock (kmp_win32_mutex_t *mx)
 
int __kmp_win32_mutex_trylock (kmp_win32_mutex_t *mx)
 
void __kmp_win32_mutex_unlock (kmp_win32_mutex_t *mx)
 
void __kmp_win32_cond_init (kmp_win32_cond_t *cv)
 
void __kmp_win32_cond_destroy (kmp_win32_cond_t *cv)
 
template<class C >
static void __kmp_win32_cond_wait (kmp_win32_cond_t *cv, kmp_win32_mutex_t *mx, kmp_info_t *th, C *flag)
 
void __kmp_win32_cond_broadcast (kmp_win32_cond_t *cv)
 
void __kmp_win32_cond_signal (kmp_win32_cond_t *cv)
 
void __kmp_enable (int new_state)
 
void __kmp_disable (int *old_state)
 
void __kmp_suspend_initialize (void)
 
void __kmp_suspend_initialize_thread (kmp_info_t *th)
 
void __kmp_suspend_uninitialize_thread (kmp_info_t *th)
 
int __kmp_try_suspend_mx (kmp_info_t *th)
 
void __kmp_lock_suspend_mx (kmp_info_t *th)
 
void __kmp_unlock_suspend_mx (kmp_info_t *th)
 
template<class C >
static void __kmp_suspend_template (int th_gtid, C *flag)
 
template<bool C, bool S>
void __kmp_suspend_32 (int th_gtid, kmp_flag_32< C, S > *flag)
 
template<bool C, bool S>
void __kmp_suspend_64 (int th_gtid, kmp_flag_64< C, S > *flag)
 
template<bool C, bool S>
void __kmp_atomic_suspend_64 (int th_gtid, kmp_atomic_flag_64< C, S > *flag)
 
void __kmp_suspend_oncore (int th_gtid, kmp_flag_oncore *flag)
 
template void __kmp_suspend_32< false, false > (int, kmp_flag_32< false, false > *)
 
template void __kmp_suspend_64< false, true > (int, kmp_flag_64< false, true > *)
 
template void __kmp_suspend_64< true, false > (int, kmp_flag_64< true, false > *)
 
template void __kmp_atomic_suspend_64< false, true > (int, kmp_atomic_flag_64< false, true > *)
 
template void __kmp_atomic_suspend_64< true, false > (int, kmp_atomic_flag_64< true, false > *)
 
template<class C >
static void __kmp_resume_template (int target_gtid, C *flag)
 
template<bool C, bool S>
void __kmp_resume_32 (int target_gtid, kmp_flag_32< C, S > *flag)
 
template<bool C, bool S>
void __kmp_resume_64 (int target_gtid, kmp_flag_64< C, S > *flag)
 
template<bool C, bool S>
void __kmp_atomic_resume_64 (int target_gtid, kmp_atomic_flag_64< C, S > *flag)
 
void __kmp_resume_oncore (int target_gtid, kmp_flag_oncore *flag)
 
template void __kmp_resume_32< false, true > (int, kmp_flag_32< false, true > *)
 
template void __kmp_resume_32< false, false > (int, kmp_flag_32< false, false > *)
 
template void __kmp_resume_64< false, true > (int, kmp_flag_64< false, true > *)
 
template void __kmp_atomic_resume_64< false, true > (int, kmp_atomic_flag_64< false, true > *)
 
void __kmp_yield ()
 
void __kmp_gtid_set_specific (int gtid)
 
int __kmp_gtid_get_specific ()
 
void __kmp_affinity_bind_thread (int proc)
 
void __kmp_affinity_determine_capable (const char *env_var)
 
double __kmp_read_cpu_time (void)
 
int __kmp_read_system_info (struct kmp_sys_info *info)
 
void __kmp_runtime_initialize (void)
 
void __kmp_runtime_destroy (void)
 
void __kmp_terminate_thread (int gtid)
 
void __kmp_clear_system_time (void)
 
void __kmp_initialize_system_tick (void)
 
void __kmp_elapsed (double *t)
 
void __kmp_elapsed_tick (double *t)
 
void __kmp_read_system_time (double *delta)
 
kmp_uint64 __kmp_now_nsec ()
 
void *__stdcall __kmp_launch_worker (void *arg)
 
void __kmp_create_worker (int gtid, kmp_info_t *th, size_t stack_size)
 
int __kmp_still_running (kmp_info_t *th)
 
int __kmp_is_thread_alive (kmp_info_t *th, DWORD *exit_val)
 
void __kmp_exit_thread (int exit_status)
 
static void __kmp_reap_common (kmp_info_t *th)
 
void __kmp_reap_worker (kmp_info_t *th)
 
void __kmp_thread_sleep (int millis)
 
int __kmp_is_address_mapped (void *addr)
 
kmp_uint64 __kmp_hardware_timestamp (void)
 
void __kmp_free_handle (kmp_thread_t tHandle)
 
int __kmp_get_load_balance (int max)
 
void__kmp_lookup_symbol (const char *name, bool next)
 
void __kmp_hidden_helper_worker_thread_wait ()
 
void __kmp_do_initialize_hidden_helper_threads ()
 
void __kmp_hidden_helper_threads_initz_wait ()
 
void __kmp_hidden_helper_initz_release ()
 
void __kmp_hidden_helper_main_thread_wait ()
 
void __kmp_hidden_helper_main_thread_release ()
 
void __kmp_hidden_helper_worker_thread_signal ()
 
void __kmp_hidden_helper_threads_deinitz_wait ()
 
void __kmp_hidden_helper_threads_deinitz_release ()
 

Variables

NtQuerySystemInformation_t NtQuerySystemInformation = NULL
 
HMODULE ntdll = NULL
 
static HMODULE kernel32 = NULL
 
static kmp_int64 __kmp_win32_time
 
double __kmp_win32_tick
 
int __kmp_init_runtime = FALSE
 
CRITICAL_SECTION __kmp_win32_section
 

Macro Definition Documentation

◆ CHECK

#define CHECK (   cond)
Value:
{ \
KMP_DEBUG_ASSERT(cond); \
if (!(cond)) { \
running_threads = -1; \
goto finish; \
} \
}

Typedef Documentation

◆ NtQuerySystemInformation_t

typedef NTSTATUS(NTAPI * NtQuerySystemInformation_t) (SYSTEM_INFORMATION_CLASS, PVOID, ULONG, PULONG)

Definition at line 126 of file z_Windows_NT_util.cpp.

◆ PSYSTEM_PROCESS_INFORMATION

Definition at line 107 of file z_Windows_NT_util.cpp.

Enumeration Type Documentation

◆ SYSTEM_INFORMATION_CLASS

Enumerator
SystemProcessInformation 

Definition at line 32 of file z_Windows_NT_util.cpp.

◆ THREAD_STATE

Enumerator
StateInitialized 
StateReady 
StateRunning 
StateStandby 
StateTerminated 
StateWait 
StateTransition 
StateUnknown 

Definition at line 41 of file z_Windows_NT_util.cpp.

Function Documentation

◆ __kmp_affinity_bind_thread()

void __kmp_affinity_bind_thread ( int  proc)

◆ __kmp_affinity_determine_capable()

void __kmp_affinity_determine_capable ( const char env_var)

Definition at line 632 of file z_Windows_NT_util.cpp.

References KA_TRACE.

◆ __kmp_atomic_resume_64()

template<bool C, bool S>
void __kmp_atomic_resume_64 ( int  target_gtid,
kmp_atomic_flag_64< C, S > *  flag 
)

◆ __kmp_atomic_resume_64< false, true >()

template void __kmp_atomic_resume_64< false, true > ( int  ,
kmp_atomic_flag_64< false, true > *   
)

◆ __kmp_atomic_suspend_64()

template<bool C, bool S>
void __kmp_atomic_suspend_64 ( int  th_gtid,
kmp_atomic_flag_64< C, S > *  flag 
)

◆ __kmp_atomic_suspend_64< false, true >()

template void __kmp_atomic_suspend_64< false, true > ( int  ,
kmp_atomic_flag_64< false, true > *   
)

◆ __kmp_atomic_suspend_64< true, false >()

template void __kmp_atomic_suspend_64< true, false > ( int  ,
kmp_atomic_flag_64< true, false > *   
)

◆ __kmp_clear_system_time()

void __kmp_clear_system_time ( void  )

◆ __kmp_create_worker()

void __kmp_create_worker ( int  gtid,
kmp_info_t th,
size_t  stack_size 
)

◆ __kmp_disable()

void __kmp_disable ( int old_state)

◆ __kmp_do_initialize_hidden_helper_threads()

void __kmp_do_initialize_hidden_helper_threads ( )

Definition at line 1711 of file z_Windows_NT_util.cpp.

References KMP_ASSERT.

Referenced by __kmp_hidden_helper_initialize().

◆ __kmp_elapsed()

void __kmp_elapsed ( double t)

◆ __kmp_elapsed_tick()

void __kmp_elapsed_tick ( double t)

Definition at line 972 of file z_Windows_NT_util.cpp.

References __kmp_win32_tick, and double.

Referenced by FTN_GET_WTICK().

◆ __kmp_enable()

void __kmp_enable ( int  new_state)

◆ __kmp_exit_thread()

void __kmp_exit_thread ( int  exit_status)

Definition at line 1302 of file z_Windows_NT_util.cpp.

◆ __kmp_free_handle()

void __kmp_free_handle ( kmp_thread_t  tHandle)

◆ __kmp_get_load_balance()

int __kmp_get_load_balance ( int  max)

◆ __kmp_gtid_get_specific()

int __kmp_gtid_get_specific ( void  )

◆ __kmp_gtid_set_specific()

void __kmp_gtid_set_specific ( int  gtid)

◆ __kmp_hardware_timestamp()

kmp_uint64 __kmp_hardware_timestamp ( void  )

Definition at line 1534 of file z_Windows_NT_util.cpp.

References r.

◆ __kmp_hidden_helper_initz_release()

void __kmp_hidden_helper_initz_release ( )

Definition at line 1719 of file z_Windows_NT_util.cpp.

References KMP_ASSERT.

◆ __kmp_hidden_helper_main_thread_release()

void __kmp_hidden_helper_main_thread_release ( )

Definition at line 1727 of file z_Windows_NT_util.cpp.

References KMP_ASSERT.

Referenced by __kmp_internal_end_library(), and __kmp_internal_end_thread().

◆ __kmp_hidden_helper_main_thread_wait()

void __kmp_hidden_helper_main_thread_wait ( )

Definition at line 1723 of file z_Windows_NT_util.cpp.

References KMP_ASSERT.

◆ __kmp_hidden_helper_threads_deinitz_release()

void __kmp_hidden_helper_threads_deinitz_release ( )

Definition at line 1739 of file z_Windows_NT_util.cpp.

References KMP_ASSERT.

Referenced by __kmp_hidden_helper_threads_initz_routine().

◆ __kmp_hidden_helper_threads_deinitz_wait()

void __kmp_hidden_helper_threads_deinitz_wait ( )

Definition at line 1735 of file z_Windows_NT_util.cpp.

References KMP_ASSERT.

Referenced by __kmp_internal_end_library(), and __kmp_internal_end_thread().

◆ __kmp_hidden_helper_threads_initz_wait()

void __kmp_hidden_helper_threads_initz_wait ( )

Definition at line 1715 of file z_Windows_NT_util.cpp.

References KMP_ASSERT.

Referenced by __kmp_hidden_helper_initialize().

◆ __kmp_hidden_helper_worker_thread_signal()

void __kmp_hidden_helper_worker_thread_signal ( )

Definition at line 1731 of file z_Windows_NT_util.cpp.

References KMP_ASSERT.

Referenced by __kmp_push_task(), and __kmp_task_finish().

◆ __kmp_hidden_helper_worker_thread_wait()

void __kmp_hidden_helper_worker_thread_wait ( )

Definition at line 1707 of file z_Windows_NT_util.cpp.

References KMP_ASSERT.

Referenced by __kmp_wait_template().

◆ __kmp_initialize_system_tick()

void __kmp_initialize_system_tick ( void  )

◆ __kmp_is_address_mapped()

int __kmp_is_address_mapped ( void addr)

◆ __kmp_is_thread_alive()

int __kmp_is_thread_alive ( kmp_info_t th,
DWORD *  exit_val 
)

◆ __kmp_launch_worker()

void *__stdcall __kmp_launch_worker ( void arg)

◆ __kmp_lock_suspend_mx()

void __kmp_lock_suspend_mx ( kmp_info_t th)

◆ __kmp_lookup_symbol()

void * __kmp_lookup_symbol ( const char name,
bool  next 
)

Definition at line 1673 of file z_Windows_NT_util.cpp.

References __kmp_lookup_symbol(), i, and name.

Referenced by __kmp_lookup_symbol().

◆ __kmp_now_nsec()

kmp_uint64 __kmp_now_nsec ( )

Definition at line 984 of file z_Windows_NT_util.cpp.

References __kmp_win32_tick, and KMP_NSEC_PER_SEC.

◆ __kmp_read_cpu_time()

double __kmp_read_cpu_time ( void  )

Definition at line 648 of file z_Windows_NT_util.cpp.

References double, KMP_NSEC_PER_SEC, and status.

◆ __kmp_read_system_info()

int __kmp_read_system_info ( struct kmp_sys_info info)

◆ __kmp_read_system_time()

void __kmp_read_system_time ( double delta)

◆ __kmp_reap_common()

static void __kmp_reap_common ( kmp_info_t th)
static

◆ __kmp_reap_worker()

void __kmp_reap_worker ( kmp_info_t th)

◆ __kmp_resume_32()

template<bool C, bool S>
void __kmp_resume_32 ( int  target_gtid,
kmp_flag_32< C, S > *  flag 
)

◆ __kmp_resume_32< false, false >()

template void __kmp_resume_32< false, false > ( int  ,
kmp_flag_32< false, false > *   
)

◆ __kmp_resume_32< false, true >()

template void __kmp_resume_32< false, true > ( int  ,
kmp_flag_32< false, true > *   
)

◆ __kmp_resume_64()

template<bool C, bool S>
void __kmp_resume_64 ( int  target_gtid,
kmp_flag_64< C, S > *  flag 
)

◆ __kmp_resume_64< false, true >()

template void __kmp_resume_64< false, true > ( int  ,
kmp_flag_64< false, true > *   
)

◆ __kmp_resume_oncore()

void __kmp_resume_oncore ( int  target_gtid,
kmp_flag_oncore flag 
)

Definition at line 556 of file z_Windows_NT_util.cpp.

References __kmp_resume_template(), and flag.

Referenced by __kmp_null_resume_wrapper(), and kmp_flag_oncore::resume().

◆ __kmp_resume_template()

template<class C >
static void __kmp_resume_template ( int  target_gtid,
C flag 
)
inlinestatic

◆ __kmp_runtime_destroy()

void __kmp_runtime_destroy ( void  )

◆ __kmp_runtime_initialize()

void __kmp_runtime_initialize ( void  )

◆ __kmp_still_running()

int __kmp_still_running ( kmp_info_t th)

Definition at line 1219 of file z_Windows_NT_util.cpp.

◆ __kmp_suspend_32()

template<bool C, bool S>
void __kmp_suspend_32 ( int  th_gtid,
kmp_flag_32< C, S > *  flag 
)

◆ __kmp_suspend_32< false, false >()

template void __kmp_suspend_32< false, false > ( int  ,
kmp_flag_32< false, false > *   
)

◆ __kmp_suspend_64()

template<bool C, bool S>
void __kmp_suspend_64 ( int  th_gtid,
kmp_flag_64< C, S > *  flag 
)

◆ __kmp_suspend_64< false, true >()

template void __kmp_suspend_64< false, true > ( int  ,
kmp_flag_64< false, true > *   
)

◆ __kmp_suspend_64< true, false >()

template void __kmp_suspend_64< true, false > ( int  ,
kmp_flag_64< true, false > *   
)

◆ __kmp_suspend_initialize()

void __kmp_suspend_initialize ( void  )

◆ __kmp_suspend_initialize_thread()

void __kmp_suspend_initialize_thread ( kmp_info_t th)

◆ __kmp_suspend_oncore()

void __kmp_suspend_oncore ( int  th_gtid,
kmp_flag_oncore flag 
)

Definition at line 475 of file z_Windows_NT_util.cpp.

References __kmp_suspend_template(), and flag.

Referenced by kmp_flag_oncore::suspend().

◆ __kmp_suspend_template()

template<class C >
static void __kmp_suspend_template ( int  th_gtid,
C flag 
)
inlinestatic

◆ __kmp_suspend_uninitialize_thread()

void __kmp_suspend_uninitialize_thread ( kmp_info_t th)

◆ __kmp_terminate_thread()

void __kmp_terminate_thread ( int  gtid)

◆ __kmp_thread_sleep()

void __kmp_thread_sleep ( int  millis)

Definition at line 1509 of file z_Windows_NT_util.cpp.

References __kmp_fatal(), __kmp_msg_null, FALSE, KMP_ERR, KMP_MSG, and status.

Referenced by __kmp_fatal().

◆ __kmp_try_suspend_mx()

int __kmp_try_suspend_mx ( kmp_info_t th)

Definition at line 347 of file z_Windows_NT_util.cpp.

References __kmp_win32_mutex_trylock().

Referenced by __kmp_resume_if_soft_paused().

◆ __kmp_unlock_suspend_mx()

void __kmp_unlock_suspend_mx ( kmp_info_t th)

◆ __kmp_win32_cond_broadcast()

void __kmp_win32_cond_broadcast ( kmp_win32_cond_t *  cv)

Definition at line 282 of file z_Windows_NT_util.cpp.

References __kmp_win32_mutex_lock(), and __kmp_win32_mutex_unlock().

Referenced by __kmp_win32_cond_signal().

◆ __kmp_win32_cond_destroy()

void __kmp_win32_cond_destroy ( kmp_win32_cond_t *  cv)

◆ __kmp_win32_cond_init()

void __kmp_win32_cond_init ( kmp_win32_cond_t *  cv)

Definition at line 174 of file z_Windows_NT_util.cpp.

References __kmp_win32_mutex_init(), FALSE, and TRUE.

Referenced by __kmp_suspend_initialize_thread().

◆ __kmp_win32_cond_signal()

void __kmp_win32_cond_signal ( kmp_win32_cond_t *  cv)

Definition at line 298 of file z_Windows_NT_util.cpp.

References __kmp_win32_cond_broadcast().

Referenced by __kmp_resume_template().

◆ __kmp_win32_cond_wait()

template<class C >
static void __kmp_win32_cond_wait ( kmp_win32_cond_t *  cv,
kmp_win32_mutex_t *  mx,
kmp_info_t th,
C flag 
)
static

◆ __kmp_win32_mutex_destroy()

void __kmp_win32_mutex_destroy ( kmp_win32_mutex_t *  mx)

◆ __kmp_win32_mutex_init()

void __kmp_win32_mutex_init ( kmp_win32_mutex_t *  mx)

◆ __kmp_win32_mutex_lock()

void __kmp_win32_mutex_lock ( kmp_win32_mutex_t *  mx)

◆ __kmp_win32_mutex_trylock()

int __kmp_win32_mutex_trylock ( kmp_win32_mutex_t *  mx)

Definition at line 166 of file z_Windows_NT_util.cpp.

Referenced by __kmp_try_suspend_mx().

◆ __kmp_win32_mutex_unlock()

void __kmp_win32_mutex_unlock ( kmp_win32_mutex_t *  mx)

◆ __kmp_yield()

void __kmp_yield ( )

Definition at line 566 of file z_Windows_NT_util.cpp.

◆ KMP_BUILD_ASSERT() [1/11]

KMP_BUILD_ASSERT ( offsetof(SYSTEM_PROCESS_INFORMATION, CreateTime)  = =32)

◆ KMP_BUILD_ASSERT() [2/11]

KMP_BUILD_ASSERT ( offsetof(SYSTEM_PROCESS_INFORMATION, HandleCount)  = =96)

◆ KMP_BUILD_ASSERT() [3/11]

KMP_BUILD_ASSERT ( offsetof(SYSTEM_PROCESS_INFORMATION, ImageName)  = =56)

◆ KMP_BUILD_ASSERT() [4/11]

KMP_BUILD_ASSERT ( offsetof(SYSTEM_PROCESS_INFORMATION, IOCounters)  = =208)

◆ KMP_BUILD_ASSERT() [5/11]

KMP_BUILD_ASSERT ( offsetof(SYSTEM_PROCESS_INFORMATION, NextEntryOffset)  = =0)

◆ KMP_BUILD_ASSERT() [6/11]

KMP_BUILD_ASSERT ( offsetof(SYSTEM_PROCESS_INFORMATION, ProcessId)  = =80)

◆ KMP_BUILD_ASSERT() [7/11]

KMP_BUILD_ASSERT ( offsetof(SYSTEM_PROCESS_INFORMATION, Threads)  = =256)

◆ KMP_BUILD_ASSERT() [8/11]

KMP_BUILD_ASSERT ( offsetof(SYSTEM_PROCESS_INFORMATION, VMCounters)  = =112)

◆ KMP_BUILD_ASSERT() [9/11]

KMP_BUILD_ASSERT ( offsetof(SYSTEM_THREAD, KernelTime)  = =0)

◆ KMP_BUILD_ASSERT() [10/11]

KMP_BUILD_ASSERT ( offsetof(SYSTEM_THREAD, StartAddress)  = =32)

◆ KMP_BUILD_ASSERT() [11/11]

KMP_BUILD_ASSERT ( offsetof(SYSTEM_THREAD, State)  = =68)

Variable Documentation

◆ __kmp_init_runtime

int __kmp_init_runtime = FALSE

◆ __kmp_win32_section

CRITICAL_SECTION __kmp_win32_section

◆ __kmp_win32_tick

double __kmp_win32_tick

◆ __kmp_win32_time

kmp_int64 __kmp_win32_time
static

Definition at line 145 of file z_Windows_NT_util.cpp.

Referenced by __kmp_clear_system_time(), and __kmp_read_system_time().

◆ kernel32

HMODULE kernel32 = NULL
static

Definition at line 134 of file z_Windows_NT_util.cpp.

Referenced by __kmp_runtime_destroy(), and __kmp_runtime_initialize().

◆ ntdll

HMODULE ntdll = NULL

Definition at line 130 of file z_Windows_NT_util.cpp.

Referenced by __kmp_runtime_destroy(), and __kmp_runtime_initialize().

◆ NtQuerySystemInformation

NtQuerySystemInformation_t NtQuerySystemInformation = NULL