From dc835f97f030996f5531575fd084eb2ab6d8e2b0 Mon Sep 17 00:00:00 2001 From: Brad Martin <52003535+bmartin427@users.noreply.github.com> Date: Wed, 14 Aug 2024 23:10:40 -0400 Subject: [PATCH] rosbridge_websocket: Stop websocket server if ROS shuts down (backport #946) Signed-off-by: Brad Martin --- rosbridge_server/scripts/rosbridge_websocket.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/rosbridge_server/scripts/rosbridge_websocket.py b/rosbridge_server/scripts/rosbridge_websocket.py index bfa968d15..49d2a52b6 100755 --- a/rosbridge_server/scripts/rosbridge_websocket.py +++ b/rosbridge_server/scripts/rosbridge_websocket.py @@ -337,7 +337,13 @@ def main(args=None): executor = rclpy.executors.SingleThreadedExecutor() executor.add_node(node) - spin_callback = PeriodicCallback(lambda: executor.spin_once(timeout_sec=0.01), 1) + + def spin_ros(): + executor.spin_once(timeout_sec=0.01) + if not rclpy.ok(): + shutdown_hook() + + spin_callback = PeriodicCallback(spin_ros, 1) spin_callback.start() try: start_hook()