Attention is currently required from: laforge, lynxis lazus, pespin.
5 comments:
File src/core/osmo_io.c:
Patch Set #1, Line 343: void iofd_handle_send(struct osmo_io_fd *iofd, int rc, struct iofd_msghdr *msghdr)
this function (like unfortuntaely many functions in the code base) would benefit from a comment desc […]
Done
Patch Set #1, Line 343: void iofd_handle_send(struct osmo_io_fd *iofd, int rc, struct iofd_msghdr *msghdr)
this function (like unfortuntaely many functions in the code base) would benefit from a comment desc […]
Done
Patch Set #1, Line 348: if (rc > 0 && rc < msgb_length(msg)) {
Regarding your comment about rc == 0, maybe one missing failure case is rc == 0 && rc < msgb_length(msg)?
Not sure though.
rc == 0 case seems to be missing here?
IMO rc == 0 in send means we have successfully "written" 0 bytes to the socket (which also means the socket is writable).
This is (IMO correctly) handled in the success case below.
The failure cases should either be rc < msgb_length() or rc == -EAGAIN.
File src/core/osmo_io_uring.c:
Patch Set #1, Line 188: iofd_msghdr_free(msghdr);
Yes, previous you didn't checked for -EAGAIN, now you're checking it and doing things based on it.
You marked this as resolved, but just to be clear: I think this behavior is okay. It's debatable whether we'd ever encounter -EAGAIN for a send in io_uring, but if we do I'd say reenqueueing is the correct behavior.
To view, visit change 35078. To unsubscribe, or for help writing mail filters, visit settings.