template <BrwLockEnablePi PI>

class BrwLock

Defined at line 97 of file ../../zircon/kernel/include/kernel/brwlock.h

Blocking (i.e. non spinning) reader-writer lock. Readers and writers are

ordered by priority (i.e. their wait_queue release order) and otherwise

readers and writers are treated equally and will fall back to FIFO ordering

at some priority.

The lock optionally respects priority inheritance. Not supporting PI is more

efficient as the current active writer does not have to be tracked. Enabling PI

creates an additional restriction that readers must not take any additional

locks or otherwise block whilst holding the read lock.

Public Methods

void ~BrwLock<PI> ()

Defined at line 26 of file ../../zircon/kernel/kernel/brwlock.cc

void BrwLock<PI> ()

Defined at line 102 of file ../../zircon/kernel/include/kernel/brwlock.h

void BrwLock<PI> (const fxt::InternedString & name_stringref)

Defined at line 103 of file ../../zircon/kernel/include/kernel/brwlock.h

void ReadAcquire ()

Defined at line 108 of file ../../zircon/kernel/include/kernel/brwlock.h

void WriteAcquire ()

Defined at line 126 of file ../../zircon/kernel/include/kernel/brwlock.h

void ReadRelease ()

Defined at line 136 of file ../../zircon/kernel/include/kernel/brwlock.h

void ReadUpgrade ()

Defined at line 150 of file ../../zircon/kernel/include/kernel/brwlock.h

void BrwLock<PI> (const BrwLock<PI> & )

suppress default constructors

Defined at line 159 of file ../../zircon/kernel/include/kernel/brwlock.h

void BrwLock<PI> (BrwLock<PI> && )

suppress default constructors

Defined at line 159 of file ../../zircon/kernel/include/kernel/brwlock.h

BrwLock<PI> & operator= (const BrwLock<PI> & )

suppress default constructors

Defined at line 159 of file ../../zircon/kernel/include/kernel/brwlock.h

BrwLock<PI> & operator= (BrwLock<PI> && )

suppress default constructors

Defined at line 159 of file ../../zircon/kernel/include/kernel/brwlock.h

void WriteRelease ()

Defined at line 535 of file ../../zircon/kernel/kernel/brwlock.cc

Records