diff --git a/source/common/network/io_uring_socket_handle_impl.cc b/source/common/network/io_uring_socket_handle_impl.cc index 557855d02ac64..80524320f7442 100644 --- a/source/common/network/io_uring_socket_handle_impl.cc +++ b/source/common/network/io_uring_socket_handle_impl.cc @@ -328,6 +328,9 @@ void IoUringSocketHandleImpl::addWriteRequest() { RELEASE_ASSERT(res == Io::IoUringResult::Ok, "unable to prepare writev"); } vecs_to_write_ = nr_vecs; + // Make the IO handle start reading to avoid read timeout in procedures out of Envoy's scope + // including handshaking of TLS. + addReadRequest(); } void IoUringSocketHandleImpl::continueWriting(Request& req, uint32_t offset) {