rename mutex for consistency
This commit is contained in:
parent
e6146e9efe
commit
1d1be459c8
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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_);
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue