This is a duplicate of ros2/rcl#110, and originally came from a discussion at https://github.com/ros/roscpp_core/pull/55#discussion_r104209834