Skip to content

Remove stale MessageMemoryPool TODO from the executor - #3374

Merged
ahcorde merged 1 commit into
ros2:rollingfrom
mini-1235:remove-stale-message-pool-todo
Oct 26, 2026
Merged

ahcorde merged 1 commit into
ros2:rollingfrom
mini-1235:remove-stale-message-pool-todo

Conversation

@mini-1235

Copy link
Copy Markdown
Contributor

Description

I was reading this part of the code today and was a little confused by the TODO here. In particular, it looks like #2336 already addressed this by making MessagePoolMemoryStrategy::return_message() a no-op and returning the message to the pool through a custom deleter only after all shared pointers have been released. Thus, I think the TODO here is outdated.

Is this user-facing behavior change?

No, comment only change

Did you use Generative AI?

Yes, Claude Opus 5.5 to discuss the code with me

Additional Information

The TODO said that MessagePoolMemoryStrategy could return a message to the pool while a callback
still holds a shared_ptr to it. That was fixed by ros2#2336, which returns pool slots from the
shared_ptr deleter once nothing else references the message and left return_message() empty.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: mini-1235 <mauricepurnawan@gmail.com>
@github-actions

Copy link
Copy Markdown

ABI Compliance Check

✅ Verdict: compatible

Library Verdict Summary
libcomponent_manager.so ✅ compatible No ABI changes detected.
librclcpp.so ✅ compatible No ABI changes detected.
librclcpp_action.so ✅ compatible No ABI changes detected.
librclcpp_lifecycle.so ✅ compatible No ABI changes detected.
✅ libcomponent_manager.so — full abidiff report

Compared:

  • Base: lib-base/libcomponent_manager.so
  • Head: lib-pr/libcomponent_manager.so @ bb0076b
(empty report — no differences printed by abidiff)
✅ librclcpp.so — full abidiff report

Compared:

  • Base: lib-base/librclcpp.so
  • Head: lib-pr/librclcpp.so @ bb0076b
(empty report — no differences printed by abidiff)
✅ librclcpp_action.so — full abidiff report

Compared:

  • Base: lib-base/librclcpp_action.so
  • Head: lib-pr/librclcpp_action.so @ bb0076b
(empty report — no differences printed by abidiff)
✅ librclcpp_lifecycle.so — full abidiff report

Compared:

  • Base: lib-base/librclcpp_lifecycle.so
  • Head: lib-pr/librclcpp_lifecycle.so @ bb0076b
(empty report — no differences printed by abidiff)

Updated for commit bb0076b · check run · suppressions: /home/runner/work/_temp/ros2-abi-suppressions.txt

@ahcorde
ahcorde merged commit b2ff681 into ros2:rolling Oct 26, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants