diff --git a/rclcpp/include/rclcpp/executor.hpp b/rclcpp/include/rclcpp/executor.hpp index f6ee2df..edebfeb 100644 --- a/rclcpp/include/rclcpp/executor.hpp +++ b/rclcpp/include/rclcpp/executor.hpp @@ -42,7 +42,7 @@ class Executor public: RCLCPP_MAKE_SHARED_DEFINITIONS(Executor); - Executor(memory_strategy::MemoryStrategy::SharedPtr ms = + explicit Executor(memory_strategy::MemoryStrategy::SharedPtr ms = memory_strategy::create_default_strategy()) : interrupt_guard_condition_(rmw_create_guard_condition()), memory_strategy_(ms) diff --git a/rclcpp/include/rclcpp/executors/multi_threaded_executor.hpp b/rclcpp/include/rclcpp/executors/multi_threaded_executor.hpp index 40f0c5d..68c6e29 100644 --- a/rclcpp/include/rclcpp/executors/multi_threaded_executor.hpp +++ b/rclcpp/include/rclcpp/executors/multi_threaded_executor.hpp @@ -40,7 +40,9 @@ class MultiThreadedExecutor : public executor::Executor public: RCLCPP_MAKE_SHARED_DEFINITIONS(MultiThreadedExecutor); - MultiThreadedExecutor() + MultiThreadedExecutor(memory_strategy::MemoryStrategy::SharedPtr ms = + memory_strategy::create_default_strategy()) + : executor::Executor(ms) { number_of_threads_ = std::thread::hardware_concurrency(); if (number_of_threads_ == 0) { diff --git a/rclcpp/include/rclcpp/executors/single_threaded_executor.hpp b/rclcpp/include/rclcpp/executors/single_threaded_executor.hpp index fa8e7e0..2fa1e02 100644 --- a/rclcpp/include/rclcpp/executors/single_threaded_executor.hpp +++ b/rclcpp/include/rclcpp/executors/single_threaded_executor.hpp @@ -41,7 +41,9 @@ class SingleThreadedExecutor : public executor::Executor public: RCLCPP_MAKE_SHARED_DEFINITIONS(SingleThreadedExecutor); - SingleThreadedExecutor() {} + SingleThreadedExecutor(memory_strategy::MemoryStrategy::SharedPtr ms = + memory_strategy::create_default_strategy()) + : executor::Executor(ms) {} virtual ~SingleThreadedExecutor() {}