Home ⌂Doc Index ◂Up ▴
Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
tbb::internal::concurrent_monitor::thread_context Class Reference

#include <concurrent_monitor.h>

Inheritance diagram for tbb::internal::concurrent_monitor::thread_context:
Collaboration diagram for tbb::internal::concurrent_monitor::thread_context:

Public Member Functions

 thread_context ()
 
 ~thread_context ()
 
binary_semaphoresemaphore ()
 

Private Member Functions

 __TBB_NOINLINE (void init())
 The method for lazy initialization of the thread_context's semaphore. More...
 
- Private Member Functions inherited from tbb::internal::circular_doubly_linked_list_with_sentinel::node_t
 node_t ()
 
- Private Member Functions inherited from tbb::internal::no_copy
 no_copy (const no_copy &)=delete
 
 no_copy ()=default
 

Private Attributes

tbb::aligned_space< binary_semaphoresema
 
__TBB_atomic unsigned epoch
 
tbb::atomic< bool > in_waitset
 
bool skipped_wakeup
 
bool aborted
 
bool ready
 
uintptr_t context
 
- Private Attributes inherited from tbb::internal::circular_doubly_linked_list_with_sentinel::node_t
node_tnext
 
node_tprev
 

Friends

class concurrent_monitor
 

Detailed Description

per-thread descriptor for concurrent_monitor

Definition at line 96 of file concurrent_monitor.h.

Constructor & Destructor Documentation

◆ thread_context()

tbb::internal::concurrent_monitor::thread_context::thread_context ( )
inline

◆ ~thread_context()

tbb::internal::concurrent_monitor::thread_context::~thread_context ( )
inline

Definition at line 103 of file concurrent_monitor.h.

References tbb::internal::binary_semaphore::P(), ready, semaphore(), skipped_wakeup, and tbb::internal::binary_semaphore::~binary_semaphore().

Here is the call graph for this function:

Member Function Documentation

◆ __TBB_NOINLINE()

tbb::internal::concurrent_monitor::thread_context::__TBB_NOINLINE ( void   init())
private

The method for lazy initialization of the thread_context's semaphore.

◆ semaphore()

binary_semaphore& tbb::internal::concurrent_monitor::thread_context::semaphore ( )
inline

Definition at line 109 of file concurrent_monitor.h.

109 { return *sema.begin(); }
tbb::aligned_space< binary_semaphore > sema

References sema.

Referenced by tbb::internal::concurrent_monitor::abort_all_relaxed(), tbb::internal::concurrent_monitor::commit_wait(), tbb::internal::concurrent_monitor::notify_all_relaxed(), tbb::internal::concurrent_monitor::notify_one_relaxed(), tbb::internal::concurrent_monitor::notify_relaxed(), tbb::internal::concurrent_monitor::prepare_wait(), and ~thread_context().

Here is the caller graph for this function:

Friends And Related Function Documentation

◆ concurrent_monitor

friend class concurrent_monitor
friend

Definition at line 97 of file concurrent_monitor.h.

Member Data Documentation

◆ aborted

bool tbb::internal::concurrent_monitor::thread_context::aborted
private

◆ context

uintptr_t tbb::internal::concurrent_monitor::thread_context::context
private

◆ epoch

__TBB_atomic unsigned tbb::internal::concurrent_monitor::thread_context::epoch
private

◆ in_waitset

◆ ready

bool tbb::internal::concurrent_monitor::thread_context::ready
private

◆ sema

tbb::aligned_space<binary_semaphore> tbb::internal::concurrent_monitor::thread_context::sema
private

Definition at line 115 of file concurrent_monitor.h.

Referenced by semaphore().

◆ skipped_wakeup

bool tbb::internal::concurrent_monitor::thread_context::skipped_wakeup
private

The documentation for this class was generated from the following file:

Copyright © 2005-2020 Intel Corporation. All Rights Reserved.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.