laforge submitted this change.

View Change


Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve
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
---
M src/core/osmo_io_poll.c
1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/src/core/osmo_io_poll.c b/src/core/osmo_io_poll.c
index 2e726d9..fae552c 100644
--- a/src/core/osmo_io_poll.c
+++ b/src/core/osmo_io_poll.c
@@ -84,7 +84,7 @@
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. */

To view, visit change 36200. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I405094449a6644db37534757f2fbccbcff982f23
Gerrit-Change-Number: 36200
Gerrit-PatchSet: 2
Gerrit-Owner: jolly <andreas@eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>
Gerrit-MessageType: merged