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

Use a single reentrant callback group for all subscriptions #122

Merged
merged 1 commit into from
Dec 19, 2022

Conversation

achim-k
Copy link
Collaborator

@achim-k achim-k commented Dec 16, 2022

Public-Facing Changes

  • Fix subscriptions not working on rolling

Description

  • Callback groups that are created after the executor is already spinning do not work correctly, see Callback groups created after executor starts spinning do not work ros2/rclcpp#2067
  • Instead of dynamically creating callback groups for each advertised channel, we now use a single reentrant callback group for all channels
    • Consequence is, that message callbacks of the same topic (e.g. when having multiple clients) can now be called in parallel. However, this is fine since the server::sendMessage is thread safe (also, callbacks of different topics were already called in parallel)

Fixes #94
Fixes #120

@achim-k achim-k merged commit 3ffb02b into main Dec 19, 2022
@achim-k achim-k deleted the achim/single_subscription_callback_group branch December 19, 2022 19:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants