From 5deb09325de6d82fe8c8907a68c8171537f0b992 Mon Sep 17 00:00:00 2001 From: Tim Clephas Date: Mon, 27 May 2024 11:30:10 +0200 Subject: [PATCH] Add option for the events executor to the isolated component container --- .../src/component_container_isolated.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/rclcpp_components/src/component_container_isolated.cpp b/rclcpp_components/src/component_container_isolated.cpp index 96ba8b1a03..2ca9f2d141 100644 --- a/rclcpp_components/src/component_container_isolated.cpp +++ b/rclcpp_components/src/component_container_isolated.cpp @@ -26,10 +26,15 @@ int main(int argc, char * argv[]) rclcpp::init(argc, argv); // parse arguments bool use_multi_threaded_executor{false}; + bool use_events_executor{false}; std::vector args = rclcpp::remove_ros_arguments(argc, argv); for (auto & arg : args) { - if (arg == std::string("--use_multi_threaded_executor")) { + if (arg == std::string("--use_multi_threaded_executor") || + arg == std::string("--use-multi-threaded-executor")) + { use_multi_threaded_executor = true; + } else if (arg == std::string("--use-events-executor")) { + use_events_executor = true; } } // create executor and component manager @@ -39,6 +44,10 @@ int main(int argc, char * argv[]) using ComponentManagerIsolated = rclcpp_components::ComponentManagerIsolated; node = std::make_shared(exec); + } else if (use_events_executor) { + using ComponentManagerIsolated = + rclcpp_components::ComponentManagerIsolated; + node = std::make_shared(exec); } else { using ComponentManagerIsolated = rclcpp_components::ComponentManagerIsolated;