Cleanup use of the GazeboYarpPlugins::Handler::getHandler() object to actually remove a device once is deleted #618
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The changes are the following:
gazebo_yarp_robotinterface
to not increase device use counter in singleton when device is returned to robotinterface. The rationale is that the handler is not the owner of the YARP device object, that instead are owned (and eventually destroyed before the handler of thegazebo_yarp_robotinterface
plugin instance) by the model/sensor plugin that created it.It does not make sense to have a usage count that does not reflect it the device is actually valid or not. By doing so, we make sure that the device is actually removed when the device is about to be destroyed.
gazebo_yarp_robotinterface
that incremented the usage counter of the robot in the singleton, without a corresponding removeRobot.setDevice
in GazeboYarpPlugins::Handler::getHandler() to register a device also callremoveDevice
(with the correct argument) once the device is not available anymore. SeveralsetDevice
were added recently without a correspondingremoveDevice
.