17 #ifndef _TBB_tbb_main_H 18 #define _TBB_tbb_main_H static __TBB_atomic_flag InitializationLock
Global initialization lock.
static bool initialization_done()
static void terminate_auto_initialized_scheduler()
Undo automatic initialization if necessary; call when a thread exits.
__TBB_atomic __TBB_Flag __TBB_atomic_flag
static atomic< int > count
Counter of references to global shared resources such as TLS.
__TBB_InitOnce()
Add initial reference to resources.
friend void DoOneTimeInitializations()
Performs thread-safe lazy one-time general TBB initialization.
__TBB_Flag __TBB_LockByte(__TBB_atomic_flag &flag)
~__TBB_InitOnce()
Remove the initial reference to resources.
Class that supports TBB initialization.
static bool InitializationDone
Specifies if the one-time initializations has been done.
static void remove_ref()
Remove reference to resources. If last reference removed, release the resources.
static void acquire_resources()
Platform specific code to acquire resources.
static void add_ref()
Add reference to resources. If first reference added, acquire the resources.
void DoOneTimeInitializations()
Performs thread-safe lazy one-time general TBB initialization.
friend void ITT_DoUnsafeOneTimeInitialization()
T __TBB_load_with_acquire(const volatile T &location)
static void release_resources()
Platform specific code to release resources.