From 28c97a72380387d9996e5550a3ca3a01c95f95fc Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Thu, 7 Mar 2024 15:43:13 +0100 Subject: [PATCH] osmo_io_poll: Use -errno as result on write error This was done for read error in a previous patch. This is required because osmo_io_uring does not support errno, instead it uses the result code. To have a unified API, set the result code equally. Related: OS#5751 Change-Id: I405094449a6644db37534757f2fbccbcff982f23 --- src/core/osmo_io_poll.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/osmo_io_poll.c b/src/core/osmo_io_poll.c index 2e726d9f7..fae552cb4 100644 --- a/src/core/osmo_io_poll.c +++ b/src/core/osmo_io_poll.c @@ -84,7 +84,7 @@ static void iofd_poll_ofd_cb_recvmsg_sendmsg(struct osmo_fd *ofd, unsigned int w struct iofd_msghdr *msghdr = iofd_txqueue_dequeue(iofd); if (msghdr) { rc = sendmsg(ofd->fd, &msghdr->hdr, msghdr->flags); - iofd_handle_send_completion(iofd, rc, msghdr); + iofd_handle_send_completion(iofd, (rc < 0 && errno > 0) ? -errno : rc, msghdr); } else { /* Socket is writable, but we have no data to send. A non-blocking/async connect() is signalled this way. */