![]() |
mutable
A Database System for Research and Fast Prototyping
|
#include <reader_writer_lock.hpp>
Public Member Functions | |
| upgrade_lock (reader_writer_mutex &rw_mutex) | |
| upgrade_lock (reader_writer_mutex &rw_mutex, std::defer_lock_t) | |
| upgrade_lock (reader_writer_mutex &rw_mutex, std::adopt_lock_t) | |
| upgrade_lock (const upgrade_lock &)=delete | |
| upgrade_lock (upgrade_lock &&other)=default | |
| upgrade_lock & | operator= (upgrade_lock &&)=default |
| bool | owns_read_lock () const |
| write_lock | upgrade () |
| Attempts to upgrade the read lock to a write lock. | |
| void | lock () |
| void | unlock () |
Protected Member Functions | |
| bool | owns_lock () const |
Protected Attributes | |
| std::reference_wrapper< reader_writer_mutex > | rw_mutex_ |
| bool | owns_lock_ {false} |
Definition at line 370 of file reader_writer_lock.hpp.
|
inlineexplicit |
Definition at line 372 of file reader_writer_lock.hpp.
References M_insist, and owns_read_lock().
|
inline |
Definition at line 373 of file reader_writer_lock.hpp.
|
inline |
Definition at line 374 of file reader_writer_lock.hpp.
|
delete |
|
default |
|
inline |
Definition at line 337 of file reader_writer_lock.hpp.
|
default |
|
inlineinherited |
Definition at line 335 of file reader_writer_lock.hpp.
References m::read_lock::owns_lock_.
Referenced by m::read_lock::lock(), owns_read_lock(), m::read_lock::unlock(), and m::read_lock::~read_lock().
|
inline |
Definition at line 380 of file reader_writer_lock.hpp.
References m::read_lock::owns_lock().
Referenced by upgrade(), and upgrade_lock().
|
inline |
Definition at line 338 of file reader_writer_lock.hpp.
|
inline |
Attempts to upgrade the read lock to a write lock.
Returns a write_lock on success. On failure, std::nullopt is returned and the held read lock is unlocked to prevent deadlocks.
reader_writer_lock::upgrade() Definition at line 391 of file reader_writer_lock.hpp.
References M_insist, m::read_lock::owns_lock_, owns_read_lock(), and m::read_lock::rw_mutex_.
|
protectedinherited |
Definition at line 322 of file reader_writer_lock.hpp.
Referenced by m::read_lock::lock(), m::read_lock::owns_lock(), m::read_lock::unlock(), and upgrade().
|
protectedinherited |
Definition at line 321 of file reader_writer_lock.hpp.
Referenced by m::read_lock::lock(), m::read_lock::unlock(), and upgrade().