Add mutex for events on Receiver

master
pixl 4 years ago
parent f7638b0905
commit 1a056a1ecf
No known key found for this signature in database
GPG Key ID: 1866C148CD593B6E
  1. 2
      src/logid/Receiver.cpp
  2. 1
      src/logid/Receiver.h

@ -31,6 +31,7 @@ Receiver::Receiver(std::string path) : dj::ReceiverMonitor(path), _path (path)
void Receiver::addDevice(hidpp::DeviceConnectionEvent event)
{
std::unique_lock<std::mutex> lock(_devices_change);
try {
auto dev = _devices.find(event.index);
if(dev != _devices.end()) {
@ -71,5 +72,6 @@ void Receiver::addDevice(hidpp::DeviceConnectionEvent event)
void Receiver::removeDevice(hidpp::DeviceIndex index)
{
std::unique_lock<std::mutex> lock(_devices_change);
_devices.erase(index);
}

@ -34,6 +34,7 @@ namespace logid
void addDevice(backend::hidpp::DeviceConnectionEvent event) override;
void removeDevice(backend::hidpp::DeviceIndex index) override;
private:
std::mutex _devices_change;
std::map<backend::hidpp::DeviceIndex, std::shared_ptr<Device>> _devices;
std::string _path;
};

Loading…
Cancel
Save