From 49fc07dab3b16081702accaccea90ce00868be29 Mon Sep 17 00:00:00 2001 From: Esteve Fernandez Date: Fri, 15 May 2015 12:43:52 -0700 Subject: [PATCH] Lock the mutex for every method --- rclcpp/include/rclcpp/node_impl.hpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rclcpp/include/rclcpp/node_impl.hpp b/rclcpp/include/rclcpp/node_impl.hpp index bfd9fe2..381b573 100644 --- a/rclcpp/include/rclcpp/node_impl.hpp +++ b/rclcpp/include/rclcpp/node_impl.hpp @@ -217,6 +217,7 @@ const std::vector Node::set_parameters( const std::vector & parameters) { + std::lock_guard lock(mutex_); std::vector results; for (auto p : parameters) { parameters_[p.name] = rclcpp::parameter::ParameterVariant::from_parameter(p); @@ -249,6 +250,7 @@ const std::vector Node::get_parameters( const std::vector & names) { + std::lock_guard lock(mutex_); std::vector results; for (auto & kv : parameters_) { if (std::any_of(names.cbegin(), names.cend(), [&kv](const std::string & name) { @@ -265,6 +267,7 @@ const std::vector Node::describe_parameters( const std::vector & names) { + std::lock_guard lock(mutex_); std::vector results; for (auto & kv : parameters_) { if (std::any_of(names.cbegin(), names.cend(), [&kv](const std::string & name) { @@ -284,6 +287,7 @@ const std::vector Node::get_parameter_types( const std::vector & names) { + std::lock_guard lock(mutex_); std::vector results; for (auto & kv : parameters_) { if (std::any_of(names.cbegin(), names.cend(), [&kv](const std::string & name) { @@ -302,6 +306,7 @@ const std::vector Node::list_parameters( const std::vector & prefixes, uint64_t depth) { + std::lock_guard lock(mutex_); std::vector results; // TODO: define parameter separator, use "." for now