diff --git a/msg/templates/uorb_microcdr/microRTPS_client.cpp.em b/msg/templates/uorb_microcdr/microRTPS_client.cpp.em index fc06ddf3ff..da443bbc10 100644 --- a/msg/templates/uorb_microcdr/microRTPS_client.cpp.em +++ b/msg/templates/uorb_microcdr/microRTPS_client.cpp.em @@ -255,7 +255,7 @@ void micrortps_start_topics(const uint32_t &datarate, struct timespec &begin, ui while (!_should_exit_task) { @[if recv_topics]@ - if (0 < (read = transport_node->read(&topic_ID, data_buffer, BUFFER_SIZE))) { + while (0 < (read = transport_node->read(&topic_ID, data_buffer, BUFFER_SIZE))) { total_rcvd += read; rx_last_sec_read += read;