manager: rate limit dbus errors
If there is a misconfiguration between sysfs and led-manager,
the manager will be very spammy about dbus errors at it tries
to update the sysfs value. Rate limit this to once per hour
per LED.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I2896377ff64318159ca3963d09c2ab5bf7452862
diff --git a/manager/lamptest/lamptest.cpp b/manager/lamptest/lamptest.cpp
index f7f9e90..8178f75 100644
--- a/manager/lamptest/lamptest.cpp
+++ b/manager/lamptest/lamptest.cpp
@@ -31,8 +31,8 @@
if (iter != forceUpdateLEDs.end())
{
- phosphor::led::Manager::drivePhysicalLED(
- path, Layout::Action::Off, it.dutyOn, it.period);
+ manager.drivePhysicalLED(path, Layout::Action::Off, it.dutyOn,
+ it.period);
}
}
@@ -45,8 +45,7 @@
if (iter != forceUpdateLEDs.end())
{
- phosphor::led::Manager::drivePhysicalLED(path, it.action,
- it.dutyOn, it.period);
+ manager.drivePhysicalLED(path, it.action, it.dutyOn, it.period);
}
}
@@ -81,8 +80,7 @@
continue;
}
- phosphor::led::Manager::drivePhysicalLED(path, Layout::Action::Off, 0,
- 0);
+ manager.drivePhysicalLED(path, Layout::Action::Off, 0, 0);
}
if (std::filesystem::exists(lampTestIndicator))
@@ -238,8 +236,7 @@
continue;
}
- phosphor::led::Manager::drivePhysicalLED(path, Layout::Action::On, 0,
- 0);
+ manager.drivePhysicalLED(path, Layout::Action::On, 0, 0);
}
}
@@ -369,8 +366,8 @@
for (const auto& path : physicalLedPaths)
{
- phosphor::led::Manager::drivePhysicalLED(
- path, phosphor::led::Layout::Action::Off, 0, 0);
+ manager.drivePhysicalLED(path, phosphor::led::Layout::Action::Off,
+ 0, 0);
}
// Also remove the lamp test on indicator file.