-
Notifications
You must be signed in to change notification settings - Fork 418
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
Galactic: for_each_callback_group backport #1741
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left a preliminary round of review. I would also suggest rebasing all of the individual commits into a single commit, adding a useful commit message, and signing it properly (which will make the DCO bot happy).
f779270
to
6971111
Compare
…se.hpp, updated the for_each_callback_group wrapper method in lifecycle_node and node.cpp, added a thread safe global map of mutexes in node_base. Implemented the suggestions in preliminary review. Signed-off-by: Aditya Pande <aditya050995@gmail.com>
6971111
to
2fbc5ce
Compare
Changes:
TODO
|
…ixes Signed-off-by: Aditya Pande <aditya050995@gmail.com>
Signed-off-by: Aditya Pande <aditya050995@gmail.com>
…_cb_group Signed-off-by: Aditya Pande <aditya050995@gmail.com>
…each_cb_group Signed-off-by: Aditya Pande <aditya050995@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have a bunch of questions/comments.
58174d0
to
e6733bf
Compare
Signed-off-by: Aditya Pande <aditya050995@gmail.com>
Signed-off-by: Aditya Pande <aditya050995@gmail.com>
…ointer cast Signed-off-by: Aditya Pande <aditya050995@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall, I think this is getting close. I've left a few more things to think about.
…_mutexes Signed-off-by: Aditya Pande <aditya050995@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have a bunch of nits inline. Once those are all fixed, I think this is good to go from my perspective, though I'd like to get @ivanpauno 's final thoughts before we run CI on this.
Signed-off-by: Aditya Pande <aditya050995@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me with three things:
- Green CI.
- Running
abi-compliance-checker
before and after this PR to make sure we aren't changing ABI. - An approval from @ivanpauno and @cottsay
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good from an ABI compatibility perspective. I had a couple of other comments inline, but nothing critical.
Signed-off-by: Aditya Pande <aditya050995@gmail.com>
Signed-off-by: Aditya Pande <aditya050995@gmail.com>
@cottsay How should we handle the unstable windows CI ? The failures are in |
If you're confident that they aren't a regression caused by this PR, then I think it's OK to ignore the test failures. It might be worth triggering a baseline build to be sure, though. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
I can't tell if those failures are related or not, +1 to compare with a baseline build. |
So this CI was run by changing the branch of rclcpp to |
LGTM! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for double-checking!
Added thread safe for_each_callback_group method Signed-off-by: Aditya Pande <aditya050995@gmail.com>
…ick-1741 Galactic: for_each_callback_group backport (ros2#1741)
This PR aims takle ros-simulation/gazebo_ros_pkgs#1296 by backporting #1723 to galactic without breaking ABI. To do this, I added a new non virtual function in node_base class, and added static members to it to keep track of a global map of mutexes. This map stores the mutexes for each node_base instance. However, while using the new
for_each_callback_group
method, the pointer of typeNodeBaseInterface
has to be typecasted toNodeBase
. The global map of mutexes is written as a separate class and access to it is protected by an internal mutex.TODO
static_executor_entities_collector