Fix adcsensor crash
We were taking a reference to a temporary variable.
Change it so we don't.
Tested: Passed cycling script that exposed issue
Change-Id: I9226e3d11b5c892cdfe02f138680ed98844596ef
Signed-off-by: James Feist <james.feist@linux.intel.com>
diff --git a/src/FanMain.cpp b/src/FanMain.cpp
index 8c47d76..73937cc 100644
--- a/src/FanMain.cpp
+++ b/src/FanMain.cpp
@@ -86,14 +86,14 @@
boost::container::flat_map<std::string, std::unique_ptr<PwmSensor>>&
pwmSensors,
std::shared_ptr<sdbusplus::asio::connection>& dbusConnection,
- const std::unique_ptr<boost::container::flat_set<std::string>>&
+ const std::shared_ptr<boost::container::flat_set<std::string>>&
sensorsChanged)
{
auto getter = std::make_shared<GetSensorConfiguration>(
dbusConnection,
std::move([&io, &objectServer, &tachSensors, &pwmSensors,
- &dbusConnection, &sensorsChanged](
+ &dbusConnection, sensorsChanged](
const ManagedObjectType& sensorConfigurations) {
bool firstScan = sensorsChanged == nullptr;
std::vector<fs::path> paths;
@@ -442,8 +442,8 @@
boost::container::flat_map<std::string, std::unique_ptr<PwmSensor>>
pwmSensors;
std::vector<std::unique_ptr<sdbusplus::bus::match::match>> matches;
- std::unique_ptr<boost::container::flat_set<std::string>> sensorsChanged =
- std::make_unique<boost::container::flat_set<std::string>>();
+ auto sensorsChanged =
+ std::make_shared<boost::container::flat_set<std::string>>();
io.post([&]() {
createSensors(io, objectServer, tachSensors, pwmSensors, systemBus,