![]() |
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().