diff options
Diffstat (limited to 'control')
-rw-r--r-- | control/fan.cpp | 26 | ||||
-rw-r--r-- | control/functor.hpp | 7 |
2 files changed, 25 insertions, 8 deletions
diff --git a/control/fan.cpp b/control/fan.cpp index d4303cf..c86186f 100644 --- a/control/fan.cpp +++ b/control/fan.cpp @@ -65,13 +65,25 @@ void Fan::setSpeed(uint64_t speed) for (auto& sensor : _sensors) { auto value = speed; - util::SDBusPlus::setProperty<uint64_t>( - _bus, - sensor.second, - sensor.first, - _interface, - FAN_TARGET_PROPERTY, - std::move(value)); + try + { + util::SDBusPlus::setProperty<uint64_t>( + _bus, + sensor.second, + sensor.first, + _interface, + FAN_TARGET_PROPERTY, + std::move(value)); + } + catch (const sdbusplus::exception::SdBusError&) + { + throw util::DBusPropertyError{ + "DBus set property failed", + sensor.second, + sensor.first, + _interface, + FAN_TARGET_PROPERTY}; + } } _targetSpeed = speed; diff --git a/control/functor.hpp b/control/functor.hpp index 17ae3af..e86bae7 100644 --- a/control/functor.hpp +++ b/control/functor.hpp @@ -113,7 +113,12 @@ struct PropertyChanged _property); _handler(zone, std::forward<T>(val)); } - catch (const util::DBusError& e) + catch (const sdbusplus::exception::SdBusError&) + { + // Property will not be used unless a property changed + // signal message is received for this property. + } + catch (const util::DBusError&) { // Property will not be used unless a property changed // signal message is received for this property. |