[Dashing] Avoid reference cycle between Context and GraphListener#1233
[Dashing] Avoid reference cycle between Context and GraphListener#1233
Conversation
* Use weak_ptr to store context in graph listener Signed-off-by: Barry Xu <Barry.Xu@sony.com>
|
I would decline to do this, even with the fair points about the class not being used externally and therefore not a high risk ABI break. Is someone asking for this fix or we just think it's good to have? |
I think nobody is asking for it. I will close and delete it from the Dashing backports board. |
|
Ok, yeah perhaps someone on our team would disagree, but I'd prefer to document the issue rather than break ABI, in this case. Perhaps here, if appropriate: https://index.ros.org/doc/ros2/Releases/Release-Dashing-Diademata/#known-issues |
Sounds like a good idea, I've opened ros2/ros2_documentation#826 to document the issue. |
Backport of #906.
This change breaks ABI of the
GraphListenerclass.That class is never used directly by an user.
In the internal places where that class is being used, it's being stored as a
shared_ptr.i.e.: ABI of other objects shouldn't be affected, and thus the user shouldn't be affected.
I'm not quite sure if we should backport a fix like this or not as it's hard to verify if it actually breaks "user" ABI or not.
If the answer is no, I will delete this from Dashing and Eloquent patch release board.