From 5930e059d061cb47673baf1a206ff478f639e1bb Mon Sep 17 00:00:00 2001 From: perry-reframe Date: Wed, 11 Jun 2025 13:04:45 -0400 Subject: [PATCH] Ensures that the ActionNode callbackgroup is only added to the singlethreaded executor --- .../include/behaviortree_ros2/bt_action_node.hpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/behaviortree_ros2/include/behaviortree_ros2/bt_action_node.hpp b/behaviortree_ros2/include/behaviortree_ros2/bt_action_node.hpp index 05c664d..86464fa 100644 --- a/behaviortree_ros2/include/behaviortree_ros2/bt_action_node.hpp +++ b/behaviortree_ros2/include/behaviortree_ros2/bt_action_node.hpp @@ -244,7 +244,7 @@ RosActionNode::ActionClientInstance::ActionClientInstance( std::shared_ptr node, const std::string& action_name) { callback_group = - node->create_callback_group(rclcpp::CallbackGroupType::MutuallyExclusive); + node->create_callback_group(rclcpp::CallbackGroupType::MutuallyExclusive, false); callback_executor.add_callback_group(callback_group, node->get_node_base_interface()); action_client = rclcpp_action::create_client(node, action_name, callback_group); } @@ -310,6 +310,9 @@ inline bool RosActionNode::createClient(const std::string& action_name) { client_instance_ = std::make_shared(node, action_name); registry.insert({ action_client_key_, client_instance_ }); + + RCLCPP_INFO(logger(), "Node [%s] created action client [%s]", name().c_str(), + action_name.c_str()); } else {