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..b584d61 100644 --- a/rclcpp/include/rclcpp/executors/multi_threaded_executor.hpp +++ b/rclcpp/include/rclcpp/executors/multi_threaded_executor.hpp @@ -40,7 +40,8 @@ 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..1f02424 100644 --- a/rclcpp/include/rclcpp/executors/single_threaded_executor.hpp +++ b/rclcpp/include/rclcpp/executors/single_threaded_executor.hpp @@ -41,7 +41,8 @@ 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() {} diff --git a/rclcpp/include/rclcpp/strategies/static_memory_strategy.hpp b/rclcpp/include/rclcpp/strategies/static_memory_strategy.hpp index 627ab1c..d01f4ee 100644 --- a/rclcpp/include/rclcpp/strategies/static_memory_strategy.hpp +++ b/rclcpp/include/rclcpp/strategies/static_memory_strategy.hpp @@ -55,6 +55,7 @@ public: void ** borrow_handles(HandleType type, size_t number_of_handles) { + std::cout << "static borrow handles" << std::endl; switch (type) { case HandleType::subscriber_handle: if (number_of_handles > max_subscribers_) {