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