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

StaticSingleThreadedExecutor's spin_some, spin_all and spin_once cannot use the base class implementation #1219

Open
brawner opened this issue Jul 9, 2020 · 2 comments
Labels
backlog bug Something isn't working

Comments

@brawner
Copy link
Contributor

brawner commented Jul 9, 2020

I've been expanding the unit tests of the executors for all three classes, and these methods in StaticSingleThreadedExecutor should not be using the base class implementation in rclcpp::Executor. Because StaticSingleThreadedExecutor derives and implements its own add_node and remove_node, the collection of nodes in rclcpp::Executor is not updated and so these spin variants won't do any work. Either add_node and remove_node need to call the base class implementations as well, which would currently throw an "This node already has an executor" exception or these variants need to be derived specifically for StaticSingleThreadedExecutor.

@dirk-thomas
Copy link
Member

@brawner Can you comment what you think should happen on this ticket: assign it to you, assign it to someone else, enhancement for backlog, ...?

@brawner brawner self-assigned this Jul 30, 2020
@brawner brawner added the bug Something isn't working label Jul 30, 2020
@brawner
Copy link
Contributor Author

brawner commented Jul 30, 2020

It's not exactly an enhancement, after dealing with the backport in #1229, I'll assign it to someone else.

Edit: for now assigned to me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlog bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants