Robotics StackExchange | Archived questions

Are rmw_serialize() and rmw_deserialize() thread-safe functions

Hi,

Are rmwserialize() and rmwdeserialize() thread-safe functions?

In its API reference, it doesn't mention about thread-safe:

http://docs.ros2.org/crystal/api/rmw/rmw_8h.html#a787c040bb59b0470ba51eee7e2bc04cd

Also, in serialization class function of rclcpp (foxy), it doesn't use any lock/mutex. So can I assume they are thread safe?

https://github.com/ros2/rclcpp/blob/foxy/rclcpp/src/rclcpp/serialization.cpp

In the test code, the caller also doesn't use any lock/mutex:

https://github.com/ros2/rclcpp/blob/foxy/rclcpp/test/test_serialized_message.cpp

Best regards,

Asked by shuodo on 2020-06-09 22:34:13 UTC

Comments

Answers