40#include "freertos-config.h"
42#ifndef READ_WRITE_LOCK_HPP_
43#define READ_WRITE_LOCK_HPP_
53#ifndef CPP_FREERTOS_NO_EXCEPTIONS
57#ifdef CPP_FREERTOS_NO_CPP_STRINGS
58#error "FreeRTOS-Addons require C++ Strings if you are using exceptions"
68#ifndef CPP_FREERTOS_NO_EXCEPTIONS
80 sprintf(errorString,
"ReadWriteLock Constructor Failed");
87 virtual const char *
what()
const throw()
277 SemaphoreHandle_t WriteLock;
282 SemaphoreHandle_t BlockReadersLock;
Definition: read_write_lock.hpp:72
virtual const char * what() const
Definition: read_write_lock.hpp:87
ReadWriteLockCreateException()
Definition: read_write_lock.hpp:78
Definition: read_write_lock.hpp:112
SemaphoreHandle_t ResourceLock
Definition: read_write_lock.hpp:175
virtual ~ReadWriteLock()
Definition: cread_write_lock.cpp:82
int ReadCount
Definition: read_write_lock.hpp:164
virtual void WriterLock()=0
virtual void ReaderUnlock()=0
ReadWriteLock()
Definition: cread_write_lock.cpp:46
virtual void WriterUnlock()=0
SemaphoreHandle_t ReadLock
Definition: read_write_lock.hpp:169
virtual void ReaderLock()=0
Definition: read_write_lock.hpp:184
virtual void WriterLock()
Definition: cread_write_lock.cpp:115
virtual void ReaderLock()
Definition: cread_write_lock.cpp:89
virtual void ReaderUnlock()
Definition: cread_write_lock.cpp:102
virtual void WriterUnlock()
Definition: cread_write_lock.cpp:121
Definition: read_write_lock.hpp:221
ReadWriteLockPreferWriter()
Definition: cread_write_lock.cpp:127
virtual void ReaderUnlock()
Definition: cread_write_lock.cpp:186
virtual void ReaderLock()
Definition: cread_write_lock.cpp:171
virtual ~ReadWriteLockPreferWriter()
Definition: cread_write_lock.cpp:164
virtual void WriterUnlock()
Definition: cread_write_lock.cpp:214
virtual void WriterLock()
Definition: cread_write_lock.cpp:199
Definition: condition_variable.hpp:57