Service crashing when setting output too quickly.
Steps to reproduce:
- Run a service on a worker. This service needs to have an output.
- Have this service call the
::fwServices::IService::setOutput
method. - Have another service working on the outputted object running on another worker.
- Quickly call
::fwServices::IService::setOutput
twice in the first service. - The object set by the first call to
::fwServices::IService::setOutput
expires in the other service. - The other service crashes when calling
::fwServices::IService::getInOut
.
We encountered this problem where we call a ::opVTK::SModelMesher
service on a worker after a SConfigLauncher update. To prevent this from happening we temporarily prevent the user from triggering an action until the service finishes.