You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At least for the rospy bonds. I haven't looked at the cpp bonds yet.
Relevant Code: the shutdown() method which publishes a message to the sister bond and then promptly unregisters the publisher.
Is there a way that can reliably guarantee that a terminating node can properly shutdown a bond without having to rely on the sister inferring it from a heartbeat that has gone missing?
Seems as though there are two difficulties with this:
publish(), followed immediately by unregister()...can this disrupt the sending?
If the bond is shutting down because it's node is shutting down (e.g. ctrl-c), then the call to shutdown() from __del__ may, or may not happen before the ros communications have shut down.
You could put the bond shutdown function in a rospy shutdown hook, but that is only guaranteed for services, not publishers. So the only way to do this properly is if sister bonds had a service that could accept a one-time request from the bond.
If this is actually not possible to guarantee with the current code, ideas? I wouldn't mind putting some time into a PR for this.
The text was updated successfully, but these errors were encountered:
At least for the rospy bonds. I haven't looked at the cpp bonds yet.
Relevant Code: the shutdown() method which publishes a message to the sister bond and then promptly unregisters the publisher.
Is there a way that can reliably guarantee that a terminating node can properly shutdown a bond without having to rely on the sister inferring it from a heartbeat that has gone missing?
Seems as though there are two difficulties with this:
publish()
, followed immediately byunregister()
...can this disrupt the sending?shutdown()
from__del__
may, or may not happen before the ros communications have shut down.You could put the bond shutdown function in a rospy shutdown hook, but that is only guaranteed for services, not publishers. So the only way to do this properly is if sister bonds had a service that could accept a one-time request from the bond.
If this is actually not possible to guarantee with the current code, ideas? I wouldn't mind putting some time into a PR for this.
The text was updated successfully, but these errors were encountered: