You're reading the documentation for an older, but still supported, version of ROS 2. For information on the latest version, please have a look at Iron.

Disabling Zero Copy Loaned Messages

See the Loaned Messages article for details on how loaned messages work.

How to disable Loaned Messages

By default, Loaned Messages will try to borrow the memory from underlying middleware if it supports Loaned Messages. The ROS_DISABLE_LOANED_MESSAGES environment variable can be used to disable Loaned Messages, and fallback to normal publisher and subscription behavior, without any code changes or middleware configuration. You can set the environment variable with the following command:


To maintain this setting between shell sessions, you can add the command to your shell startup script:

echo "export ROS_DISABLE_LOANED_MESSAGES=1" >> ~/.bashrc