Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: ros2/rclpy
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 5d6ffd08156efa4c7adeba07a7f9c22de4bea3ab
Choose a base ref
..
head repository: ros2/rclpy
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: f90139236ffa87649ce68752fa4179f5c17c2943
Choose a head ref
Showing with 1,496 additions and 704 deletions.
  1. +4 −2 rclpy/rclpy/__init__.py
  2. +155 −68 rclpy/rclpy/action/client.py
  3. +149 −65 rclpy/rclpy/action/server.py
  4. +4 −2 rclpy/rclpy/callback_groups.py
  5. +4 −4 rclpy/rclpy/client.py
  6. +4 −34 rclpy/rclpy/clock.py
  7. +3 −17 rclpy/rclpy/context.py
  8. +0 −29 rclpy/rclpy/destroyable.py
  9. +3 −9 rclpy/rclpy/duration.py
  10. +9 −6 rclpy/rclpy/event_handler.py
  11. +1 −1 rclpy/rclpy/exceptions.py
  12. +116 −67 rclpy/rclpy/executors.py
  13. +3 −10 rclpy/rclpy/guard_condition.py
  14. +656 −5 rclpy/rclpy/impl/_rclpy_pybind11.pyi
  15. +1 −0 rclpy/rclpy/impl/implementation_singleton.py
  16. +1 −1 rclpy/rclpy/impl/implementation_singleton.pyi
  17. +87 −81 rclpy/rclpy/node.py
  18. +8 −7 rclpy/rclpy/parameter.py
  19. +24 −19 rclpy/rclpy/parameter_client.py
  20. +6 −6 rclpy/rclpy/parameter_event_handler.py
  21. +4 −36 rclpy/rclpy/publisher.py
  22. +4 −28 rclpy/rclpy/qos.py
  23. +4 −4 rclpy/rclpy/service.py
  24. +13 −8 rclpy/rclpy/signals.py
  25. +5 −29 rclpy/rclpy/subscription.py
  26. +19 −7 rclpy/rclpy/task.py
  27. +8 −15 rclpy/rclpy/time.py
  28. +4 −37 rclpy/rclpy/timer.py
  29. +3 −2 rclpy/rclpy/topic_endpoint_info.py
  30. +83 −13 rclpy/rclpy/type_support.py
  31. +9 −4 rclpy/rclpy/wait_for_message.py
  32. +37 −19 rclpy/rclpy/waitable.py
  33. +1 −1 rclpy/src/rclpy/action_client.hpp
  34. +2 −2 rclpy/src/rclpy/action_server.cpp
  35. +1 −1 rclpy/src/rclpy/action_server.hpp
  36. +0 −35 rclpy/test/mock_compat.py
  37. +0 −2 rclpy/test/test_clock.py
  38. +6 −0 rclpy/test/test_create_while_spinning.py
  39. +0 −8 rclpy/test/test_messages.py
  40. +19 −18 rclpy/test/test_parameter_client.py
  41. +0 −2 rclpy/test/test_time_source.py
  42. +36 −0 rclpy/test/test_waitable.py
6 changes: 4 additions & 2 deletions rclpy/rclpy/__init__.py
Original file line number Diff line number Diff line change
@@ -331,8 +331,10 @@ def spin_until_future_complete(
if ``None`` or negative. Don't wait if 0.
"""
executor = get_global_executor() if executor is None else executor
node_added = False
try:
executor.add_node(node)
node_added = executor.add_node(node)
executor.spin_until_future_complete(future, timeout_sec)
finally:
executor.remove_node(node)
if node_added:
executor.remove_node(node)
Loading