ros2 / rcl

Library to support implementation of language specific ROS Client Libraries.
Apache License 2.0
130 stars 163 forks source link

Semantics of `rcl_shutdown` and `rcl_context_fini` #1194

Open fuzzypixelz opened 2 weeks ago

fuzzypixelz commented 2 weeks ago

I'm opening this issue here as I believe the topic is specific to the rcl layer as exposed and documented by this repository. I have a question about the meaning of this doc comment:

https://github.com/ros2/rcl/blob/d9daca7c0af7ecdcd103ece30bb7c64bc919ef24/rcl/include/rcl/context.h#L49-L111

I'm interested in understanding exactly what this means for an rmw implementation such as rmw_zenoh, where it's not at all clear what is the expected behavior for the closing of a Zenoh session.

Invalidation indicates to other entities that the context was shutdown, but is still accessible for use during cleanup of themselves.

What is the scope of this usage? Is there an exact list of APIs that we expect to be called on an "initialized but invalid" context?

mjcarroll commented 4 days ago

Adding to November 12 ROS PMC meeting agenda.