Lines Matching full:mutex
83 // (should not be used as real Mutex type).
91 // The leaf mutexes can be locked under any other non-leaf mutex,
92 // but no other mutex can be locked while under a leaf mutex.
102 // `__sanitizer::Mutex` is used.
112 // then Bar mutex can be locked while under Foo mutex.
157 // Reader-writer mutex.
161 class SANITIZER_MUTEX Mutex : CheckedMutex {
163 explicit constexpr Mutex(MutexType type = MutexUnchecked)
174 // The mutex is not read-/write-locked, try to lock. in Lock()
193 return; // We've locked the mutex. in Lock()
216 // The mutex is not read-/write-locked, try to lock. in TryLock()
277 return; // We've locked the mutex. in ReadLock()
311 // is the thread which owns the mutex. This behavior, while more strictly
313 // owns the mutex but a child checks that it is locked. Rather than
315 // checks that the mutex is owned.
333 // if non zero, the mutex is read-locked
335 // if not zero, the mutex is write-locked
337 // if non zero, the mutex is read- or write-locked
340 // if set, the mutex is write-locked
347 // But readers are more aggressive and always take the mutex
350 // mutex again. This is needed to allow repeated locks even in presence
371 Mutex(LinkerInitialized) = delete;
372 Mutex(const Mutex &) = delete;
373 void operator=(const Mutex &) = delete;
440 typedef GenericScopedLock<Mutex> Lock;
441 typedef GenericScopedReadLock<Mutex> ReadLock;
442 typedef GenericScopedRWLock<Mutex> RWLock;