11 template<
typename T_Mutex,
char const* T_LockName = DtScopedLockDefaultName>
23 if (!
lock.try_acquire(m))
36 typename T_Mutex::scoped_lock
lock;
44 template<
typename T_Mutex,
char const* T_LockName = DtScopedRwLockDefaultName>
54 void acquire(T_Mutex& m,
bool writeLock =
true)
56 if (!
lock.try_acquire(m, writeLock))
59 lock.acquire(m, writeLock);
66 return lock.upgrade_to_writer();
76 return lock.downgrade_to_reader();
80 typename T_Mutex::scoped_lock
lock;
const char DtScopedLockDefaultName[]
Definition: tracyLocks.h:7
DtTracyScopedLock(T_Mutex &m)
Definition: tracyLocks.h:15
DtTracyScopedRwLock(T_Mutex &m, bool writeLock)
Definition: tracyLocks.h:48
Template around a TBB RW Mutex lock which adds a tracy marker when the lock is waiting on the mutex...
Definition: tracyLocks.h:45
void release()
Definition: tracyLocks.h:30
void acquire(T_Mutex &m, bool writeLock=true)
Definition: tracyLocks.h:54
Template around a TBB Mutex lock which adds a tracy marker when the lock is waiting on the mutex...
Definition: tracyLocks.h:12
bool downgrade_to_reader()
Definition: tracyLocks.h:74
T_Mutex::scoped_lock lock
Definition: tracyLocks.h:80
const char DtScopedRwLockDefaultName[]
Definition: tracyLocks.h:40
void acquire(T_Mutex &m)
Definition: tracyLocks.h:21
void release()
Definition: tracyLocks.h:69
Definition: vrfProfileColors.h:23
T_Mutex::scoped_lock lock
Definition: tracyLocks.h:36
bool upgrade_to_writer()
Definition: tracyLocks.h:63
#define DtPROFILEC(name, color)
Definition: profiler.h:72