Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
The scoped lock pattern for read locks. More...
#include <reader_writer_lock.h>
Public Member Functions | |
scoped_lock_read (reader_writer_lock &lock) | |
Construct with blocking attempt to acquire read lock on the passed-in lock. More... | |
~scoped_lock_read () | |
Destructor, releases the read lock. More... | |
void * | operator new (size_t s) |
void | operator delete (void *p) |
Private Member Functions | |
scoped_lock_read () | |
Construct scoped_lock_read that is not holding lock. More... | |
void __TBB_EXPORTED_METHOD | internal_construct (reader_writer_lock &) |
void __TBB_EXPORTED_METHOD | internal_destroy () |
![]() | |
no_copy () | |
Allow default construction. More... | |
Private Attributes | |
reader_writer_lock * | mutex |
The pointer to the mutex to lock. More... | |
scoped_lock_read * | next |
The next queued competitor for the mutex. More... | |
atomic< status_t > | status |
Status flag of the thread associated with this node. More... | |
Friends | |
class | reader_writer_lock |
The scoped lock pattern for read locks.
Definition at line 122 of file reader_writer_lock.h.
|
inline |
Construct with blocking attempt to acquire read lock on the passed-in lock.
Definition at line 127 of file reader_writer_lock.h.
References tbb::interface5::reader_writer_lock::scoped_lock::internal_construct().
|
inline |
Destructor, releases the read lock.
Definition at line 132 of file reader_writer_lock.h.
References tbb::interface5::reader_writer_lock::scoped_lock::internal_destroy().
|
inlineprivate |
Construct scoped_lock_read that is not holding lock.
Definition at line 324 of file reader_writer_lock.cpp.
References status, and tbb::interface5::reader_writer_lock::waiting.
|
private |
Definition at line 311 of file reader_writer_lock.cpp.
References tbb::internal::eid_improper_lock, tbb::interface5::reader_writer_lock::lock(), tbb::interface5::reader_writer_lock::scoped_lock::next, tbb::interface5::reader_writer_lock::scoped_lock::status, tbb::internal::throw_exception(), and tbb::interface5::reader_writer_lock::waiting.
|
private |
Definition at line 336 of file reader_writer_lock.cpp.
References tbb::interface5::reader_writer_lock::invalid, and status.
Definition at line 139 of file reader_writer_lock.h.
References tbb::internal::deallocate_via_handler_v3(), and p.
|
inline |
Definition at line 136 of file reader_writer_lock.h.
References tbb::internal::allocate_via_handler_v3(), and s.
|
friend |
Definition at line 124 of file reader_writer_lock.h.
|
private |
The pointer to the mutex to lock.
Definition at line 145 of file reader_writer_lock.h.
|
private |
The next queued competitor for the mutex.
Definition at line 147 of file reader_writer_lock.h.
Referenced by tbb::interface5::reader_writer_lock::start_read().
Status flag of the thread associated with this node.
Definition at line 149 of file reader_writer_lock.h.
Referenced by tbb::interface5::reader_writer_lock::scoped_lock::internal_destroy(), internal_destroy(), scoped_lock_read(), tbb::interface5::reader_writer_lock::start_read(), and tbb::interface5::reader_writer_lock::unblock_readers().