From ed71914805b8a51f4b7b01abb40656a5f41a4f44 Mon Sep 17 00:00:00 2001 From: jie Date: Fri, 10 Nov 2017 08:21:20 -0800 Subject: [PATCH] =?UTF-8?q?Add=20MutexLocker=20to=20ConnectedComponents::G?= =?UTF-8?q?etComponent=20and=20SparsePoseGr=E2=80=A6=20(#565)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …aph::TrimmingHandle::MarkSubmapAsTrimmed To make them compile successfully in google. --- cartographer/mapping/connected_components.cc | 1 + cartographer/mapping_2d/sparse_pose_graph.h | 3 ++- cartographer/mapping_3d/sparse_pose_graph.h | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/cartographer/mapping/connected_components.cc b/cartographer/mapping/connected_components.cc index 22a8115..c9e8601 100644 --- a/cartographer/mapping/connected_components.cc +++ b/cartographer/mapping/connected_components.cc @@ -92,6 +92,7 @@ std::vector> ConnectedComponents::Components() { } std::vector ConnectedComponents::GetComponent(const int trajectory_id) { + common::MutexLocker locker(&lock_); const int set_id = FindSet(trajectory_id); std::vector trajectory_ids; for (const auto& entry : forest_) { diff --git a/cartographer/mapping_2d/sparse_pose_graph.h b/cartographer/mapping_2d/sparse_pose_graph.h index 4bc12ea..d0ad102 100644 --- a/cartographer/mapping_2d/sparse_pose_graph.h +++ b/cartographer/mapping_2d/sparse_pose_graph.h @@ -247,7 +247,8 @@ class SparsePoseGraph : public mapping::SparsePoseGraph { ~TrimmingHandle() override {} int num_submaps(int trajectory_id) const override; - void MarkSubmapAsTrimmed(const mapping::SubmapId& submap_id) override; + void MarkSubmapAsTrimmed(const mapping::SubmapId& submap_id) + REQUIRES(parent_->mutex_) override; private: SparsePoseGraph* const parent_; diff --git a/cartographer/mapping_3d/sparse_pose_graph.h b/cartographer/mapping_3d/sparse_pose_graph.h index e89fbfa..b8295e2 100644 --- a/cartographer/mapping_3d/sparse_pose_graph.h +++ b/cartographer/mapping_3d/sparse_pose_graph.h @@ -251,7 +251,8 @@ class SparsePoseGraph : public mapping::SparsePoseGraph { ~TrimmingHandle() override {} int num_submaps(int trajectory_id) const override; - void MarkSubmapAsTrimmed(const mapping::SubmapId& submap_id) override; + void MarkSubmapAsTrimmed(const mapping::SubmapId& submap_id) + REQUIRES(parent_->mutex_) override; private: SparsePoseGraph* const parent_;