29 static atomic<do_once_state> concmon_module_inited;
    31 void WINAPI init_binsem_using_event( SRWLOCK* h_ )
    33     srwl_or_handle* shptr = (srwl_or_handle*) h_;
    34     shptr->h = CreateEventEx( NULL, NULL, 0, EVENT_ALL_ACCESS|SEMAPHORE_ALL_ACCESS );
    37 void WINAPI acquire_binsem_using_event( SRWLOCK* h_ )
    39     srwl_or_handle* shptr = (srwl_or_handle*) h_;
    40     WaitForSingleObjectEx( shptr->h, INFINITE, FALSE );
    43 void WINAPI release_binsem_using_event( SRWLOCK* h_ )
    45     srwl_or_handle* shptr = (srwl_or_handle*) h_;
    49 static void (WINAPI *__TBB_init_binsem)( SRWLOCK* ) = (
void (WINAPI *)(SRWLOCK*))&init_binsem_using_event;
    50 static void (WINAPI *__TBB_acquire_binsem)( SRWLOCK* ) = (
void (WINAPI *)(SRWLOCK*))&acquire_binsem_using_event;
    51 static void (WINAPI *__TBB_release_binsem)( SRWLOCK* ) = (
void (WINAPI *)(SRWLOCK*))&release_binsem_using_event;
    55     DLD(InitializeSRWLock,       __TBB_init_binsem),
    56     DLD(AcquireSRWLockExclusive, __TBB_acquire_binsem),
    57     DLD(ReleaseSRWLockExclusive, __TBB_release_binsem)
    60 inline void init_concmon_module()
    62     __TBB_ASSERT( (uintptr_t)__TBB_init_binsem==(uintptr_t)&init_binsem_using_event, NULL );
    64         __TBB_ASSERT( (uintptr_t)__TBB_init_binsem!=(uintptr_t)&init_binsem_using_event, NULL );
    65         __TBB_ASSERT( (uintptr_t)__TBB_acquire_binsem!=(uintptr_t)&acquire_binsem_using_event, NULL );
    66         __TBB_ASSERT( (uintptr_t)__TBB_release_binsem!=(uintptr_t)&release_binsem_using_event, NULL );
    73     __TBB_init_binsem( &
my_sem.lock );
    74     if( (uintptr_t)__TBB_init_binsem!=(uintptr_t)&init_binsem_using_event )
    79     if( (uintptr_t)__TBB_init_binsem==(uintptr_t)&init_binsem_using_event )
 Association between a handler name and location of pointer to it.
 
void atomic_do_once(const F &initializer, atomic< do_once_state > &state)
One-time initialization function.
 
OPEN_INTERNAL_NAMESPACE bool dynamic_link(const char *, const dynamic_link_descriptor *, size_t, dynamic_link_handle *handle, int)
 
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
 
#define DLD(s, h)
The helper to construct dynamic_link_descriptor structure.