Fix a flake in quic_udp_socket_test.cc caused by recvmsg
occasionally returning EAGAIN by reading again in this case.
PiperOrigin-RevId: 708994370
diff --git a/quiche/quic/core/quic_udp_socket_test.cc b/quiche/quic/core/quic_udp_socket_test.cc
index f47434d..d1af818 100644
--- a/quiche/quic/core/quic_udp_socket_test.cc
+++ b/quiche/quic/core/quic_udp_socket_test.cc
@@ -116,7 +116,9 @@
read_result.packet_buffer = {&packet_buffer_[0], sizeof(packet_buffer_)};
read_result.control_buffer = {&control_buffer_[0], sizeof(control_buffer_)};
- socket_api.ReadPacket(server_socket, packet_info_interested, &read_result);
+ do {
+ socket_api.ReadPacket(server_socket, packet_info_interested, &read_result);
+ } while (!read_result.ok);
EXPECT_EQ(client_flow_label, read_result.packet_info.flow_label());
const uint32_t server_flow_label = 3;
@@ -127,7 +129,9 @@
ASSERT_EQ(WRITE_STATUS_OK, write_result.status);
read_result.Reset(sizeof(packet_buffer_));
- socket_api.ReadPacket(client_socket, packet_info_interested, &read_result);
+ do {
+ socket_api.ReadPacket(client_socket, packet_info_interested, &read_result);
+ } while (!read_result.ok);
EXPECT_EQ(server_flow_label, read_result.packet_info.flow_label());
}