Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
Go to the documentation of this file.
30 __TBB_ASSERT( !this->mutex,
"scoped_lock is already holding a mutex");
60 __TBB_ASSERT( !this->mutex,
"scoped_lock is already holding a mutex");
87 if(
this == mutex->q_tail.compare_and_swap<
tbb::release>(NULL,
this) ) {
void __TBB_EXPORTED_METHOD internal_construct()
T __TBB_load_with_acquire(const volatile T &location)
void __TBB_EXPORTED_METHOD release()
Release lock.
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
#define ITT_NOTIFY(name, obj)
Queuing mutex with local-only spinning.
atomic< scoped_lock * > q_tail
The last competitor requesting the lock.
void spin_wait_while_eq(const volatile T &location, U value)
Spin WHILE the value of the variable is equal to a given value.
#define ITT_SYNC_CREATE(obj, type, name)
void __TBB_EXPORTED_METHOD acquire(queuing_mutex &m)
Acquire lock on given mutex.
void __TBB_store_with_release(volatile T &location, V value)
bool __TBB_EXPORTED_METHOD try_acquire(queuing_mutex &m)
Acquire lock on given mutex if free (i.e. non-blocking)
The scoped locking pattern.
#define __TBB_control_consistency_helper()
#define _T(string_literal)
Standard Windows style macro to markup the string literals.
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p sync_releasing
scoped_lock * next
The pointer to the next competitor for a mutex.
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.