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

EventsExecutor doesn't support rcl guard conditions #2574

Open
alsora opened this issue Jul 2, 2024 · 3 comments
Open

EventsExecutor doesn't support rcl guard conditions #2574

alsora opened this issue Jul 2, 2024 · 3 comments

Comments

@alsora
Copy link
Collaborator

alsora commented Jul 2, 2024

Bug report

The EventsExecutor currently doesn't handle guard conditions managed in rcl.
An example is the graph guard condition.
The EventsExecutor won't receive events from these entities (note that rclcpp::GuardConditions will still work).
Waitables that rely on them won't execute.

Additional information

We should either have rclcpp only deal with rclcpp::GuardCondition by wrapping them or propagate some callbacks from rclcpp down to the rmw to receive events.

@ros-discourse
Copy link

This issue has been mentioned on ROS Discourse. There might be relevant details there:

https://discourse.ros.org/t/the-ros-2-c-executors/38296/13

@mauropasse
Copy link
Collaborator

We should either have rclcpp only deal with rclcpp::GuardCondition by wrapping them

This is the approach we have taken since the creation of rclcpp::GuardCondition. I was in charge of converting all rclcpp code using rcl_guard_condition to their rclcpp::GuardCondition wrapper.

@alsora
Copy link
Collaborator Author

alsora commented Jul 6, 2024

Yes, I agree that this is the best approach.
rclcpp users shouldn't have to deal with rcl objects.

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

No branches or pull requests

3 participants