summaryrefslogtreecommitdiffstats
path: root/control/fan.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'control/fan.cpp')
-rw-r--r--control/fan.cpp26
1 files changed, 19 insertions, 7 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;
OpenPOWER on IntegriCloud