From 2a468588d57108b3786dec04dc95c62e078188f8 Mon Sep 17 00:00:00 2001
From: "Carlos A. Orduno" <39749557+orduno@users.noreply.github.com>
Date: Fri, 7 Jun 2019 09:59:55 -0700
Subject: [PATCH] Adding check for successful action cancellation (#810)

after halting a bt action node
---
 nav2_tasks/include/nav2_tasks/bt_action_node.hpp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/nav2_tasks/include/nav2_tasks/bt_action_node.hpp b/nav2_tasks/include/nav2_tasks/bt_action_node.hpp
index 1e7ddaf8..d268d886 100644
--- a/nav2_tasks/include/nav2_tasks/bt_action_node.hpp
+++ b/nav2_tasks/include/nav2_tasks/bt_action_node.hpp
@@ -173,7 +173,11 @@ new_goal_received:
       auto future_cancel = action_client_->async_cancel_goal(goal_handle_);
       {
         std::lock_guard<std::mutex> guard(spin_mutex_);
-        rclcpp::spin_until_future_complete(node_, future_cancel);
+        if (rclcpp::spin_until_future_complete(node_, future_cancel) !=
+          rclcpp::executor::FutureReturnCode::SUCCESS) {
+          RCLCPP_ERROR(node_->get_logger(),
+            "Failed to cancel action server for %s", action_name_.c_str());
+        }
       }
     }
 
-- 
GitLab