From 17d43fc8d2806e3b755571035edf1bbc093744fd Mon Sep 17 00:00:00 2001 From: Tomoya Fujita Date: Thu, 5 Feb 2026 07:50:39 +0900 Subject: [PATCH] Prevents the Future result from being set twice. (#1599) Signed-off-by: Tomoya Fujita Co-authored-by: Nadav Elkabets (cherry picked from commit a348801f7a8ee6384d260680702efb2e39dd77d0) # Conflicts: # rclpy/rclpy/action/server.py --- rclpy/rclpy/action/server.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/rclpy/rclpy/action/server.py b/rclpy/rclpy/action/server.py index abcfb96cc..32e6410f9 100644 --- a/rclpy/rclpy/action/server.py +++ b/rclpy/rclpy/action/server.py @@ -148,12 +148,27 @@ def publish_feedback(self, feedback): def succeed(self): self._update_state(_rclpy.GoalEvent.SUCCEED) +<<<<<<< HEAD +======= + if response is not None: + self._set_result(response) +>>>>>>> a348801 (Prevents the Future result from being set twice. (#1599)) def abort(self): self._update_state(_rclpy.GoalEvent.ABORT) +<<<<<<< HEAD +======= + if response is not None: + self._set_result(response) +>>>>>>> a348801 (Prevents the Future result from being set twice. (#1599)) def canceled(self): self._update_state(_rclpy.GoalEvent.CANCELED) +<<<<<<< HEAD +======= + if response is not None: + self._set_result(response) +>>>>>>> a348801 (Prevents the Future result from being set twice. (#1599)) def destroy(self): with self._lock: