Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "Revert "Decouple rosout publisher init from node init. (#351)… #392

Open
wants to merge 4 commits into
base: rolling
Choose a base branch
from

Conversation

fujitatomoya
Copy link
Contributor

…" (#352)"

This reverts commit 2648503.

@fujitatomoya
Copy link
Contributor Author

depends on ros2/rcl#1065

@fujitatomoya
Copy link
Contributor Author

/assign @fujitatomoya

rclc/src/rclc/node.c Outdated Show resolved Hide resolved
rclc/test/rclc/test_action_client.cpp Show resolved Hide resolved
rclc/test/rclc/test_executor.cpp Outdated Show resolved Hide resolved
rclc_examples/src/example_executor_only_rcl.c Outdated Show resolved Hide resolved
rclc_lifecycle/test/test_lifecycle.cpp Outdated Show resolved Hide resolved
@fujitatomoya fujitatomoya force-pushed the bugfix-20230427-rclcpp-issue-2147 branch from 6361d08 to 226387e Compare September 11, 2023 21:49
@fujitatomoya
Copy link
Contributor Author

@JanStaschulat if you have time take a look at this? thanks in advance.

@fujitatomoya
Copy link
Contributor Author

CI:

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Windows Build Status

@codecov-commenter
Copy link

codecov-commenter commented Sep 21, 2023

Codecov Report

Patch coverage: 12.50% and project coverage change: -0.24% ⚠️

Comparison is base (d263be2) 69.65% compared to head (5cf0040) 69.42%.

Additional details and impacted files
@@             Coverage Diff             @@
##           rolling     #392      +/-   ##
===========================================
- Coverage    69.65%   69.42%   -0.24%     
===========================================
  Files           16       16              
  Lines         2762     2770       +8     
  Branches       766      771       +5     
===========================================
- Hits          1924     1923       -1     
- Misses         453      459       +6     
- Partials       385      388       +3     
Files Changed Coverage Δ
rclc/src/rclc/node.c 65.62% <12.50%> (-17.71%) ⬇️

... and 1 file with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@fujitatomoya
Copy link
Contributor Author

CI:

  • Linux Build Status
  • Linux-aarch64 Build Status

see ros2/rcl#1065 (comment) why windows is excluded.

@fujitatomoya
Copy link
Contributor Author

@JanStaschulat this is good to go, requesting review on this. thanks in advance.

Copy link
Contributor

@JanStaschulat JanStaschulat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In my opinion, the init and fini method are unsymmetric regarding RCLC library:

  • The rcl_logging_rosout_init_publisher_for_node is called inside rclc library, but
  • the rcl_logging_rosout_fini_publisher_for_node needs to be called by the user.

All the unit test code and the example code had to be updated. All existing rclc applications would have to be updated as well. That's not ideal.

I expect, this could lead to in-complete applications. Users will simply forget to call rcl_logging_rosout_fini_publisher_for_node.

I would suggest, to either call the rcl_logging_rosout_fini_publisher_for_node in RCL's rcl_node_fini method or we have to create a new rclc_node_fini method in RCLC library, to hide this function call from the user.

@fujitatomoya @iuhilnehc-ynos What do you think?

rclc/src/rclc/node.c Show resolved Hide resolved
@fujitatomoya
Copy link
Contributor Author

I would suggest, to either call the rcl_logging_rosout_fini_publisher_for_node in RCL's rcl_node_fini method

this has been separated to address the issue ros2/rclcpp#2147, rclcpp and rclpy can keep the consistent behavior for user application since it conceals this change.

or we have to create a new rclc_node_fini method in RCLC library, to hide this function call from the user.

i would take this path so that we can have the same design aligned with rclcpp and rclpy. besides goes with rclc_node_init_with_options?

@JanStaschulat
Copy link
Contributor

@fujitatomoya What is the status of this pull request? Can it be merged?

@fujitatomoya
Copy link
Contributor Author

@JanStaschulat i will check and rebase.

@fujitatomoya fujitatomoya force-pushed the bugfix-20230427-rclcpp-issue-2147 branch from 5cf0040 to 9af12ed Compare October 31, 2024 00:28
@fujitatomoya
Copy link
Contributor Author

I need to create rclc_node_fini new API for this PR, please hold this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants