locationd_thread: fix possible dangling reference to params (#23156)

old-commit-hash: 48963d4b24
commatwo_master
Dean Lee 4 years ago committed by GitHub
parent ca8e47242d
commit c7b1ac57d8
  1. 6
      selfdrive/locationd/locationd.cc

@ -497,8 +497,6 @@ int Localizer::locationd_thread() {
PubMaster pm({ "liveLocationKalman" });
SubMaster sm(service_list, nullptr, { "gpsLocationExternal" });
Params params;
while (!do_exit) {
sm.update();
for (const char* service : service_list) {
@ -523,8 +521,8 @@ int Localizer::locationd_thread() {
std::string lastGPSPosJSON = util::string_format(
"{\"latitude\": %.15f, \"longitude\": %.15f, \"altitude\": %.15f}", posGeo(0), posGeo(1), posGeo(2));
std::thread([&params] (const std::string gpsjson) {
params.put("LastGPSPosition", gpsjson);
std::thread([] (const std::string gpsjson) {
Params().put("LastGPSPosition", gpsjson);
}, lastGPSPosJSON).detach();
}
}

Loading…
Cancel
Save