diff --git a/src/priority_executor/src/priority_executor.cpp b/src/priority_executor/src/priority_executor.cpp index 6a5e63a..f9eee3e 100755 --- a/src/priority_executor/src/priority_executor.cpp +++ b/src/priority_executor/src/priority_executor.cpp @@ -38,7 +38,10 @@ void TimedExecutor::spin() { } RCLCPP_SCOPE_EXIT(this->spinning.store(false);); - while (rclcpp::ok(this->context_) && spinning.load()) { + using namespace std::chrono_literals; + std::chrono::time_point start = std::chrono::steady_clock::now(); + + while (rclcpp::ok(this->context_) && spinning.load() && (std::chrono::steady_clock::now() - start) <= 5s) { rclcpp::AnyExecutable any_executable; // std::cout<number_of_ready_timers()<name << std::endl;