diff --git a/rosbridge_server/scripts/rosbridge_websocket.py b/rosbridge_server/scripts/rosbridge_websocket.py index d297a41f5..60b0dfd8b 100755 --- a/rosbridge_server/scripts/rosbridge_websocket.py +++ b/rosbridge_server/scripts/rosbridge_websocket.py @@ -343,9 +343,10 @@ def main(args=None): executor.add_node(node) def spin_ros(): - executor.spin_once(timeout_sec=0.01) if not rclpy.ok(): shutdown_hook() + return + executor.spin_once(timeout_sec=0.01) spin_callback = PeriodicCallback(spin_ros, 1) spin_callback.start() @@ -356,6 +357,7 @@ def spin_ros(): except KeyboardInterrupt: print("Exiting due to SIGINT") finally: + spin_callback.stop() shutdown_hook() # shutdown hook to stop the server