QBONE Tun device: open file descriptors with `O_NONBLOCK`. PiperOrigin-RevId: 888233571
diff --git a/quiche/quic/qbone/bonnet/tun_device.cc b/quiche/quic/qbone/bonnet/tun_device.cc index b9c6d1b..b989467 100644 --- a/quiche/quic/qbone/bonnet/tun_device.cc +++ b/quiche/quic/qbone/bonnet/tun_device.cc
@@ -172,9 +172,11 @@ } }); - if (!OpenFileDescriptor(kernel_, - absl::GetFlag(FLAGS_qbone_client_tun_device_path), - if_request, O_RDWR, persist_, &file_descriptor_)) { + // We set O_NONBLOCK for good measure, but, from observation, all write() + // syscalls to the device seem to be synchronous regardless. + if (!OpenFileDescriptor( + kernel_, absl::GetFlag(FLAGS_qbone_client_tun_device_path), + if_request, O_NONBLOCK | O_RDWR, persist_, &file_descriptor_)) { return false; }