io/channel-socket: Document why we can ignore socket_set_cork() errors

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 <peter.maydell@linaro.org>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Peter Maydell
2026-06-30 10:35:18 +01:00
committed by Daniel P. Berrangé
parent 19d7f093f7
commit 7297a02ca8

View File

@@ -946,6 +946,12 @@ qio_channel_socket_set_cork(QIOChannel *ioc,
QIOChannelSocket *sioc = QIO_CHANNEL_SOCKET(ioc); QIOChannelSocket *sioc = QIO_CHANNEL_SOCKET(ioc);
int v = enabled ? 1 : 0; 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); socket_set_cork(sioc->fd, v);
} }