From e48e21849a643d50ec5125a5f8cdb3e09b0aeb66 Mon Sep 17 00:00:00 2001 From: Alexander Belyaev <32522095+pifon2a@users.noreply.github.com> Date: Mon, 19 Mar 2018 16:16:46 +0100 Subject: [PATCH] Acquire mutex before copying landmark poses. (#1007) --- cartographer/mapping/internal/2d/pose_graph_2d.cc | 1 + cartographer/mapping/internal/3d/pose_graph_3d.cc | 1 + 2 files changed, 2 insertions(+) diff --git a/cartographer/mapping/internal/2d/pose_graph_2d.cc b/cartographer/mapping/internal/2d/pose_graph_2d.cc index 185d3f6..7827fc4 100644 --- a/cartographer/mapping/internal/2d/pose_graph_2d.cc +++ b/cartographer/mapping/internal/2d/pose_graph_2d.cc @@ -616,6 +616,7 @@ MapById PoseGraph2D::GetTrajectoryNodePoses() { std::map PoseGraph2D::GetLandmarkPoses() { std::map landmark_poses; + common::MutexLocker locker(&mutex_); for (const auto& landmark : landmark_nodes_) { // Landmark without value has not been optimized yet. if (!landmark.second.global_landmark_pose.has_value()) continue; diff --git a/cartographer/mapping/internal/3d/pose_graph_3d.cc b/cartographer/mapping/internal/3d/pose_graph_3d.cc index ae1463f..8fb1dc6 100644 --- a/cartographer/mapping/internal/3d/pose_graph_3d.cc +++ b/cartographer/mapping/internal/3d/pose_graph_3d.cc @@ -659,6 +659,7 @@ MapById PoseGraph3D::GetTrajectoryNodePoses() { std::map PoseGraph3D::GetLandmarkPoses() { std::map landmark_poses; + common::MutexLocker locker(&mutex_); for (const auto& landmark : landmark_nodes_) { // Landmark without value has not been optimized yet. if (!landmark.second.global_landmark_pose.has_value()) continue;