1
0
Fork 0

rename mutex for consistency

This commit is contained in:
Kevin Matz 2022-12-09 11:54:52 -05:00
parent e6146e9efe
commit 1d1be459c8
4 changed files with 12 additions and 11 deletions

View File

@ -95,7 +95,7 @@ uint8_t Universe::status()
*/
uint8_t Universe::slot(const uint16_t address)
{
std::shared_lock lck(null_start_mutex);
std::shared_lock lck(mtx_data);
try {
return null_start_data.at(address);
} catch (...) {
@ -138,7 +138,7 @@ void Universe::setValue(const uint16_t start, const uint16_t footprint,
return;
{
std::unique_lock lk_data(null_start_mutex);
std::unique_lock lk_data(mtx_data);
std::copy_n(data, footprint, null_start_data.begin() + start);
}
{
@ -179,7 +179,7 @@ void Universe::setData(const std::vector<uint8_t>& data)
const auto max_length = null_start_data.size();
const auto length = data.size() < max_length ? data.size() : max_length;
{
std::unique_lock lk_data(null_start_mutex);
std::unique_lock lk_data(mtx_data);
if (length < max_length)
null_start_data.fill(0); // wipe old data
std::copy_n(data.cbegin(), length, null_start_data.begin()); // copy new data

View File

@ -75,10 +75,10 @@ class Universe {
inline void doDataCallbacks() {do_callbacks_(cb_dataChange);} //!< Data Change Callbacks
inline void doStatusCallbacks() {do_callbacks_(cb_statusChange);} //!< Status Change Callbacks
DimmerData null_start_data; //!< NULL Start Code data
mutable std::shared_mutex null_start_mutex; //!< memory protect Null Start data
mutable std::shared_mutex mtx_control; //!< thread protected access control
std::chrono::system_clock::time_point last_updated_; //!< time of the latest update
DimmerData null_start_data; //!< NULL Start Code data
mutable std::shared_mutex mtx_data; //!< memory protect Null Start data
mutable std::shared_mutex mtx_control; //!< thread protected access control
std::chrono::system_clock::time_point last_updated_; //!< time of the latest update
private:
void rx_timeout_(bool add_now = false);

View File

@ -242,7 +242,7 @@ void Universe::setValue (const uint16_t start, const uint16_t footprint,
// get a copy of the current values
uint8_t og[footprint];
{
std::unique_lock lk_data(null_start_mutex);
std::unique_lock lk_data(mtx_data);
std::copy_n(std::begin(null_start_data) + start, footprint, og);
}
@ -284,6 +284,7 @@ std::shared_ptr<DATA::data_header> Universe::metadata()
*/
void Universe::synchronize(uint8_t sequence_number)
{
std::shared_lock lk_ctl(mtx_control);
if (!sync_data_)
return;
@ -301,7 +302,7 @@ void Universe::synchronize(uint8_t sequence_number)
if (dif <= 0 && dif > -20)
return;
{
std::unique_lock lk_ctl(mtx_control);
std::unique_lock lk_wctl(lk_ctl);
sync_sequence_ = sequence_number;
}
DMX::Universe::setData(*sync_data_);

View File

@ -147,7 +147,7 @@ void UniverseSender::loop_()
if (enable_)
{
mUniverse->setStatus(Universe::DMX_ACTIVE);
std::shared_lock lk_data(mUniverse->null_start_mutex);
std::shared_lock lk_data(mUniverse->mtx_data);
new_data = (mUniverse->null_start_data != last_data_);
if (new_data)
{
@ -212,7 +212,7 @@ void UniverseSender::update_dmp_()
// property data
std::vector<octet> pd;
{
std::shared_lock lk_data(mUniverse->null_start_mutex);
std::shared_lock lk_data(mUniverse->mtx_data);
std::copy_n(mUniverse->null_start_data.begin(), pr.count, std::back_inserter(pd));
}