19 #ifndef MIR_RECURSIVE_READ_WRITE_MUTEX_H_
20 #define MIR_RECURSIVE_READ_WRITE_MUTEX_H_
22 #include <condition_variable>
44 std::condition_variable cv;
45 struct ThreadLockCount
47 ThreadLockCount() : id(), count(0) {}
48 ThreadLockCount(std::thread::id
id,
unsigned int count) : id(
id), count(count) {}
52 std::vector<ThreadLockCount> read_locking_threads;
53 ThreadLockCount write_locking_thread;
All things Mir.
Definition: buffer_stream.h:37
void write_unlock()
Definition: recursive_read_write_mutex.cpp:82
~RecursiveReadLock()
Definition: recursive_read_write_mutex.h:60
void read_unlock()
Definition: recursive_read_write_mutex.cpp:47
Definition: recursive_read_write_mutex.h:56
~RecursiveWriteLock()
Definition: recursive_read_write_mutex.h:70
RecursiveWriteLock(RecursiveReadWriteMutex &mutex)
Definition: recursive_read_write_mutex.h:69
void write_lock()
Definition: recursive_read_write_mutex.cpp:62
a recursive read-write mutex.
Definition: recursive_read_write_mutex.h:31
void read_lock()
Definition: recursive_read_write_mutex.cpp:23
RecursiveReadLock(RecursiveReadWriteMutex &mutex)
Definition: recursive_read_write_mutex.h:59
Definition: recursive_read_write_mutex.h:66