Home | History | Annotate | Download | only in base

Lines Matching defs:ReaderWriterMutex

49 class SHARED_LOCKABLE ReaderWriterMutex;
316 // A ReaderWriterMutex is used to achieve mutual exclusion between threads, similar to a Mutex.
317 // Unlike a Mutex a ReaderWriterMutex can be used to gain exclusive (writer) or shared (reader)
319 // condition variable. A ReaderWriterMutex can be in one of three states:
332 std::ostream& operator<<(std::ostream& os, const ReaderWriterMutex& mu);
333 class SHARED_LOCKABLE ReaderWriterMutex : public BaseMutex {
335 explicit ReaderWriterMutex(const char* name, LockLevel level = kDefaultMutexLevel);
336 ~ReaderWriterMutex();
340 // Block until ReaderWriterMutex is free then acquire exclusive access.
348 // Block until ReaderWriterMutex is free and acquire exclusive access. Returns true on success
355 // Block until ReaderWriterMutex is shared or free then acquire a share on the access.
359 // Try to acquire share of ReaderWriterMutex.
366 // Is the current thread the exclusive holder of the ReaderWriterMutex.
369 // Assert the current thread has exclusive access to the ReaderWriterMutex.
373 // Assert the current thread doesn't have exclusive access to the ReaderWriterMutex.
383 // Is the current thread a shared holder of the ReaderWriterMutex.
386 // Assert the current thread has shared access to the ReaderWriterMutex.
397 // Assert the current thread doesn't hold this ReaderWriterMutex either in shared or exclusive
413 const ReaderWriterMutex& operator!() const { return *this; }
434 DISALLOW_COPY_AND_ASSIGN(ReaderWriterMutex);
437 // MutatorMutex is a special kind of ReaderWriterMutex created specifically for the
438 // Locks::mutator_lock_ mutex. The behaviour is identical to the ReaderWriterMutex except that
451 class SHARED_LOCKABLE MutatorMutex : public ReaderWriterMutex {
454 : ReaderWriterMutex(name, level) {}
528 // Scoped locker/unlocker for a ReaderWriterMutex that acquires read access to mu upon
532 ALWAYS_INLINE ReaderMutexLock(Thread* self, ReaderWriterMutex& mu) ACQUIRE(mu);
538 ReaderWriterMutex& mu_;
542 // Scoped locker/unlocker for a ReaderWriterMutex that acquires write access to mu upon
546 WriterMutexLock(Thread* self, ReaderWriterMutex& mu) EXCLUSIVE_LOCK_FUNCTION(mu) :
557 ReaderWriterMutex& mu_;
644 static ReaderWriterMutex* heap_bitmap_lock_ ACQUIRED_AFTER(mutator_lock_);
683 static ReaderWriterMutex* breakpoint_lock_ ACQUIRED_AFTER(jni_libraries_lock_);
686 static ReaderWriterMutex* classlinker_classes_lock_ ACQUIRED_AFTER(breakpoint_lock_);
700 static ReaderWriterMutex* dex_lock_ ACQUIRED_AFTER(modify_ldt_lock_);
703 static ReaderWriterMutex* oat_file_manager_lock_ ACQUIRED_AFTER(dex_lock_);
706 static ReaderWriterMutex* verifier_deps_lock_ ACQUIRED_AFTER(oat_file_manager_lock_);
733 static ReaderWriterMutex* jni_globals_lock_ ACQUIRED_AFTER(reference_queue_soft_references_lock_);