From 7297a02ca82f8692ac4ccaab808d52f810c61aac Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Tue, 30 Jun 2026 10:35:18 +0100 Subject: [PATCH] io/channel-socket: Document why we can ignore socket_set_cork() errors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In qio_channel_socket_set_cork(), we call socket_set_cork() but ignore its success/failure return value. This is OK because we are implementing qio_channel_set_cork() here, and that function's API documentation states that the setting is merely a hint. So even if setting TCP_CORK on the underlying socket fails for some reason, this isn't going to be a problem for the caller; correspondingly the qio_channel_set_cork() function has no error return. Add a comment in qio_channel_socket_set_cork() explaining why we don't check for errors. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/2254 Signed-off-by: Peter Maydell Reviewed-by: Daniel P. Berrangé Signed-off-by: Daniel P. Berrangé --- io/channel-socket.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/io/channel-socket.c b/io/channel-socket.c index ea2ec84108..12773b832c 100644 --- a/io/channel-socket.c +++ b/io/channel-socket.c @@ -946,6 +946,12 @@ qio_channel_socket_set_cork(QIOChannel *ioc, QIOChannelSocket *sioc = QIO_CHANNEL_SOCKET(ioc); int v = enabled ? 1 : 0; + /* + * We can ignore the error return from socket_set_cork() because + * at the QIO API level set_cork is only a hint, and so + * qio_channel_set_cork() can never fail even if it didn't + * actually do anything. + */ socket_set_cork(sioc->fd, v); }