There is currently no synchronization between the non-rt thread that executes the subscriber callback and the rt thread that runs the controller update method. A realtime_tools::RealtimeBuffer could be used to fix this, as is done in other controllers.
However, similar race conditions might occur in other controllers e.g. effort_controllers/JointPositionController as they are using a shared member here
There is currently no synchronization between the non-rt thread that executes the subscriber callback and the rt thread that runs the controller update method. A
realtime_tools::RealtimeBuffer
could be used to fix this, as is done in other controllers.The subject was originally brought up in this ros-answers discussion.