Open thomasmoore-torc opened 3 months ago
@thomasmoore-torc thank you for creating the issue and suggested fix, see https://github.com/ros2/rclcpp/pull/2478
@fujitatomoya - I noticed that the Windows build had some test failures, and while looking into that, I noticed that there were some similar issues to this introduced as part of https://github.com/ros2/rclcpp/pull/2303. Would it make sense to incorporate the following changes as part of this issue?
- auto ros_msg_ptr = std::make_shared<ROSMessageType>();
+ auto ros_msg_ptr = std::allocate_shared<ROSMessageType, ROSMessageTypeAllocator>(ros_message_type_allocator_);
@thomasmoore-torc thanks for checking this. i was aware of windows failure. will try to patch it as well.
Bug report
Required Info:
Steps to reproduce issue
Create a publisher using an adapted type and a custom allocator
Expected behavior
The ROS message that is created by
Publisher::publish()
will be allocated using the provided allocator.Actual behavior
The ROS message is allocated using
std::make_unique<ROSMessageType>()
Additional information
Rather than using
std::make_unique<ROSMessageType>()
, thecreate_ros_message_unique_ptr()
can be used instead in the following two locations: