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;